sql >> Database teknologi >  >> RDS >> Mysql

Sådan gemmer du unikt et GCM-registrerings-id i MySQL

  • Til lagring af selve registrerings-id'et er det bedre at bruge kolonnen VARBINARY(4096). Det er mere effektivt end TEXT, hvis du koder registrerings-id'et med et effektivt tegnsæt (såsom UTF-8).

  • For effektiv søgning bør du stadig have en ekstra indekseret hash-kolonne (BINARY(32)) - vi bruger SHA-256 digest-algoritme for at hente 32-bytes hash fra registrerings-id'et. Hash-kolonnen behøver ikke at være unik. Kollisioner bør være meget sjældne, og selvom de opstår, vil din forespørgsel give dig et lille antal registrerings-id'er, som deler den samme hash, så det skader ikke ydeevnen at teste i din Java-kode, hvilken af ​​dem (hvis nogen) matcher faktisk det registrerings-id, du leder efter.

  • Hvis du vælger at gemme et unikt enheds-id og søge baseret på det, foreslår jeg, at du tildeler din egen identifikator til hver enhed. Denne identifikator kan være (for eksempel) BIGINT (lang i java). Du kan kræve, at applikationen ringer til din server for at få en unik identifikator, når den først startes. Du kan gemme det på eksternt lager på enheden, så en enhed, hvor appen er afinstalleret og derefter geninstalleret, stadig vil have den samme identifikator.




  1. Introduktion til FORALL-erklæring i Oracle-databasen

  2. Sådan får du *alt* tilbage fra en lagret procedure ved hjælp af JDBC

  3. Hvordan tilføjer man et nyt sprog til mysqls fejlmeddelelser?

  4. MySQL:Hent kolonnenavn eller alias fra forespørgsel