sql >> データベース >  >> RDS >> Mysql

GCM登録IDをMySQLに一意に保存する方法

    • 登録ID自体を保存するには、VARBINARY(4096)列を使用することをお勧めします。登録IDを効率的な文字セット(UTF-8など)でエンコードすると、TEXTよりも効率的です。

    • 効率的に検索するには、追加のインデックス付きハッシュ列(BINARY(32))が必要です。SHA-256を使用します。 登録IDから32バイトのハッシュを取得するダイジェストアルゴリズム。ハッシュ列は一意である必要はありません。衝突は非常にまれであるはずです。衝突が発生した場合でも、クエリによって同じハッシュを共有する少数の登録IDが提供されるため、Javaコードで衝突をテストしてもパフォーマンスが低下することはありません(存在する場合)。実際に探している登録IDと一致します。

    • 一意のデバイスIDを保存し、それに基づいて検索する場合は、各デバイスに独自の識別子を割り当てることをお勧めします。その識別子は、(たとえば)BIGINT(Javaではlong)にすることができます。サーバーを最初に起動したときに、サーバーを呼び出して一意の識別子を取得するようにアプリケーションに要求できます。デバイスの外部ストレージに保存できるため、アプリをアンインストールしてから再インストールしたデバイスでも同じ識別子を使用できます。




    1. Laravel移行の自己参照外部キーの問題

    2. SQLファイアウォールを使用してPostgreSQLデータベースをサイバー攻撃から保護する方法

    3. 年を保存するためのMySQLタイプ:SmallintまたはVarcharまたはDate?

    4. 結合されたテーブルで特定の条件を満たさないすべてのレコードを選択します