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

Come archiviare in modo univoco un ID di registrazione GCM in MySQL

  • Per memorizzare l'ID di registrazione stesso è meglio utilizzare la colonna VARBINARY(4096). È più efficiente di TESTO se codifichi l'ID di registrazione con un set di caratteri efficiente (come UTF-8).

  • Per una ricerca efficiente, dovresti comunque avere una colonna hash indicizzata aggiuntiva (BINARY(32)) - usiamo il SHA-256 digest per ottenere l'hash di 32 byte dall'ID di registrazione. La colonna hash non deve essere univoca. Le collisioni dovrebbero essere molto rare e, anche se si verificano, la tua query ti fornirà un piccolo numero di ID di registrazione che condividono lo stesso hash, quindi non danneggerà le prestazioni per testare nel tuo codice Java quale di essi (se presente) corrisponde effettivamente all'ID di registrazione che stai cercando.

  • Se scegli di memorizzare un ID dispositivo univoco e cercare in base ad esso, ti suggerisco di assegnare il tuo identificatore a ciascun dispositivo. Tale identificatore può essere (ad esempio) BIGINT (long in java). Puoi richiedere che l'applicazione chiami il tuo server per ottenere un identificatore univoco al primo avvio. Puoi archiviarlo nella memoria esterna del dispositivo, in modo che un dispositivo su cui l'app è stata disinstallata e poi reinstallata abbia ancora lo stesso identificatore.