8 300 000行のような巨大なテーブルがあります(編集も削除もされません)。
私の最初の列は似たようなものP300-4312B_X16_S
で、エントリは一意ではないため、このフィールドでは通常のINDEXを使用します。
ただし、MySQLはvarcharの代わりにバイナリフィールドを使用する方がはるかに高速であるためBINARY(16)
、データの保存に使用して、MD5でINDEXをエンコードします。
今朝、初めてCRC32を使い始めましたが、CRC32は8文字の16進文字列として出力できることがわかりました。
私の質問:MD5の代わりにCRC32を使用すると、より高速になります。ただし、CRC32が実行されると、たとえば2 000 000の一意の値が実行されると、結果は一意になります。または、2つの異なる文字列に対して2回同じ文字列が使用される場合がありますか?結果は、MD5のように32(128b)ではなく、わずか8文字(32b)の長さなので、お願いします。
ありがとう。