2011-01-21 14 views
1

私の文字列のチェックサムインデックスを作成することで、アプリケーションの検索を高速化したいと考えています。検索を高速化するためのチェックサムが良い

CRC32は十分ですか?私はセキュリティのためにそれを使用していません。文字列をハッシュ(整数/ロング)インデックスとして表現する方法と同じです。

答えて

2

あなたはチェックサムではなく、ハッシュコードを探しています。 CRC32はうまくいくはずですが、あまり効率的ではありません。また、Adler32(zlibで使用される)を見てください。これは計算が速いです。

も参照してくださいHash function

+0

上記の返信をご覧ください。これは私にとってはかなりうまくいくはずです。 – user432024

2

あなたは車輪の再発明しようとしている、またはこの場合hash tableでいますか?

CRC32はチェックサムを計算するためのもので、高速ハッシュ関数ではありません。ファイルのエラー(変更)を検出するように設計されています。 あなたの必要性は、むしろnon-cryptographic hash functionsを見たいと思うかもしれません。

+1

を使用するか、埋め込み可能な検索/ DBエンジンを使用してください。これ以外にOR/ANDなどのクエリインターフェイスがあります。 – gertas

+0

実際にインデックス機能を備えた分散キャッシュを使用しています。 Dbレコードをキャッシュにロードします。キャッシュにエントリを追加するときは、元の文字列値ではなく整数ハッシュをインデックスする必要があります。はるかに速いいいえ? – user432024

+0

Javaを使用していますが、myString.hashCode()が衝突する可能性があると分かっていますか? – user432024

関連する問題