sql >> Database >  >> RDS >> Mysql

Een unieke GCM-registratie-ID opslaan in MySQL

  • Voor het opslaan van de registratie-ID zelf is het beter om de kolom VARBINARY(4096) te gebruiken. Het is efficiënter dan TEXT als u de registratie-ID codeert met een efficiënte tekenset (zoals UTF-8).

  • Voor efficiënt zoeken zou u nog steeds een extra geïndexeerde hash-kolom moeten hebben (BINARY(32)) - we gebruiken de SHA-256 digest-algoritme om de hash van 32 bytes uit de registratie-ID te halen. De hashkolom hoeft niet uniek te zijn. Botsingen zouden zeer zeldzaam moeten zijn, en zelfs als ze zich voordoen, zal uw zoekopdracht u een klein aantal registratie-ID's geven die dezelfde hash delen, dus het zal de prestaties niet schaden om in uw Java-code te testen welke van hen (indien aanwezig) komt eigenlijk overeen met de registratie-ID die u zoekt.

  • Als u ervoor kiest om een ​​unieke apparaat-ID op te slaan en op basis daarvan te zoeken, raad ik u aan uw eigen identificatie aan elk apparaat toe te wijzen. Die identifier kan (bijvoorbeeld) BIGINT (lang in java) zijn. U kunt eisen dat de toepassing uw server aanroept om een ​​unieke identificatiecode te krijgen wanneer deze voor het eerst wordt gestart. Je kunt het opslaan op de externe opslag van het apparaat, zodat een apparaat waarvan de app is verwijderd en vervolgens opnieuw is geïnstalleerd, nog steeds dezelfde identifier heeft.




  1. Een SQL Server-database herstellen (T-SQL)

  2. Leg uit Plan Kosten Pijnpunt

  3. Een titel toevoegen aan een formulierkoptekst in Microsoft Access

  4. Hoe REPEAT() werkt in MariaDB