-
登録ID自体を保存するには、VARBINARY(4096)列を使用することをお勧めします。登録IDを効率的な文字セット(UTF-8など)でエンコードすると、TEXTよりも効率的です。
-
効率的に検索するには、追加のインデックス付きハッシュ列(BINARY(32))が必要です。
SHA-256
を使用します。 登録IDから32バイトのハッシュを取得するダイジェストアルゴリズム。ハッシュ列は一意である必要はありません。衝突は非常にまれであるはずです。衝突が発生した場合でも、クエリによって同じハッシュを共有する少数の登録IDが提供されるため、Javaコードで衝突をテストしてもパフォーマンスが低下することはありません(存在する場合)。実際に探している登録IDと一致します。 -
一意のデバイスIDを保存し、それに基づいて検索する場合は、各デバイスに独自の識別子を割り当てることをお勧めします。その識別子は、(たとえば)BIGINT(Javaではlong)にすることができます。サーバーを最初に起動したときに、サーバーを呼び出して一意の識別子を取得するようにアプリケーションに要求できます。デバイスの外部ストレージに保存できるため、アプリをアンインストールしてから再インストールしたデバイスでも同じ識別子を使用できます。