Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como armazenar exclusivamente um ID de registro do GCM no MySQL


  • Para armazenar o próprio ID de registro, é melhor usar a coluna VARBINARY(4096). É mais eficiente que TEXT se você codificar o ID de registro com um conjunto de caracteres eficiente (como UTF-8).

  • Para uma pesquisa eficiente, você ainda deve ter uma coluna de hash indexada adicional (BINARY(32)) - usamos o SHA-256 algoritmo digest para obter o hash de 32 bytes do ID de registro. A coluna de hash não precisa ser exclusiva. As colisões devem ser muito raras e, mesmo que ocorram, sua consulta fornecerá um pequeno número de IDs de registro que compartilham o mesmo hash, portanto, não prejudicará o desempenho testar em seu código Java qual deles (se houver) realmente corresponde ao ID de registro que você está procurando.

  • Se você optar por armazenar um ID de dispositivo exclusivo e pesquisar com base nele, sugiro que atribua seu próprio identificador a cada dispositivo. Esse identificador pode ser (por exemplo) BIGINT (longo em java). Você pode exigir que o aplicativo chame seu servidor para obter um identificador exclusivo quando for iniciado pela primeira vez. Você pode armazená-lo no armazenamento externo do dispositivo, para que um dispositivo em que o aplicativo seja desinstalado e reinstalado ainda tenha o mesmo identificador.