2つの文字列フィールドのインデックス比較は、インポート中にそれらのフィールドがmd5'dされた場合は速くなりますが、ソース文字列フィールドの代わりに比較で使用されるmd5フィールドはありますか?mysql文字列比較 - md5高速ですか?
1
A
答えて
0
ソース文字列がmd5sum(16進数でエンコードした場合は32バイト)より大きい場合、md5sumを使用するとより高速になります。
確率は低いものの、ハッシュcollisionはmd5の合計が等しくなるようにします。つまり、2つのフィールドが同じでないときには、2つのフィールドが一致する可能性があるため、そのことについて2回考えてください。
1
おそらく、文字列が非常に長くても非常に似ていてもかまいません。
さらに重要なことに、文字列が非常に長い場合、MD5列のインデックスはおそらく小さくなります。小さいほどメモリに収まる可能性が高く、ディスクからの読み込みが高速です。したがって、これを実行することによって得られるパフォーマンスの改善があった場合、そのほとんどはおそらくそれに由来します。
つまり、チェックサムを計算する余分なコストと、新しい列が追加されたために値と書き込まれたテーブルのサイズを書き込むことで、読んだときのパフォーマンス上の恩恵を考慮する必要があります。
0
おそらくありません。使用される索引のタイプによって異なる場合があります。インデックス作成時にUSING HASH
を指定できます。この場合、MySQLは何らかのハッシング(たぶんMD5も同様)を使用してインデックスを構築しますが、衝突の危険性は避けられます。 2つの値が同じハッシュを持つ場合、ハッシュは両方の行の範囲として機能します。
関連する問題
- 1. MD5文字列の比較
- 2. 数字比較は文字列比較よりも高速ですか?
- 3. C#での文字列比較の高速化
- 4. mysqlの文字列を比較する
- 5. MySQLの文字列の比較
- 6. iOSの配列の高速比較
- 7. C#での文字列比較のためのより高速なアルゴリズム#
- 8. 文字列比較
- 9. 比較文字列
- 10. バイナリ文字列比較
- 11. 文字列比較はシェルスクリプト
- 12. なぜ文字列比較は整数比較に比べて速いのですか?
- 13. C++でのMD5の高速実装
- 14. 文字列を比較/設定する最速の方法
- 15. strpos strcmpのPHP文字列比較
- 16. C++文字列の比較
- 17. 比較文字列やブール
- 18. PHPの文字列比較
- 19. グローブ文字列の比較
- 20. Optarg文字列比較C
- 21. Python文字列の比較
- 22. Java:文字列の比較
- 23. ダーツ文字列比較器
- 24. SAS文字列の比較
- 25. JavaScriptを比較文字列
- 26. Qtの文字列比較
- 27. PHPの文字列比較
- 28. Java文字列比較
- 29. 比較文字列が
- 30. 文字列のブール比較