sql >> Base de Datos >  >> RDS >> Mysql

Cómo almacenar de forma única una identificación de registro de GCM en MySQL

  • Para almacenar el ID de registro en sí, es mejor usar la columna VARBINARY(4096). Es más eficiente que TEXTO si codifica la ID de registro con un juego de caracteres eficiente (como UTF-8).

  • Para una búsqueda eficiente, aún debe tener una columna hash indexada adicional (BINARIO (32)) - usamos el SHA-256 algoritmo de resumen para obtener el hash de 32 bytes del ID de registro. La columna hash no tiene que ser única. Las colisiones deberían ser muy raras, e incluso si ocurren, su consulta le dará una pequeña cantidad de ID de registro que comparten el mismo hash, por lo que no dañará el rendimiento para probar en su código Java cuál de ellos (si corresponde). realmente coincide con el ID de registro que está buscando.

  • Si elige almacenar una ID de dispositivo única y buscar en función de ella, le sugiero que asigne su propio identificador a cada dispositivo. Ese identificador puede ser (por ejemplo) BIGINT (largo en java). Puede solicitar que la aplicación llame a su servidor para obtener un identificador único cuando se inicie por primera vez. Puede almacenarlo en el almacenamiento externo del dispositivo, de modo que un dispositivo en el que se desinstala la aplicación y luego se vuelve a instalar seguirá teniendo el mismo identificador.