私の DB に保存されているテキストのほとんどは、1MB から 1.5MB の大きさです。しかし、それが私が設定した制限であるため、1.5MB より大きくはありません。
ここに私のニーズがあります:
- mysql データベースのサイズを小さくするために必要です
- できるだけ速くする必要があります
- セキュリティは必要ありません
- string_1 と string_2 が同じハッシュを持つことがないように、正しく動作する必要があります
私はPHPとMYSQLを使用しています。
SHA1 は、文字列を識別するために git や同様のアプリケーションでも使用されているため、SHA1 をお勧めします。
参照: https://en.wikipedia.org/wiki/Sha1 および: http://php.net/manual/en/function.hash.php
$hash = hash( 'sha1', $inputData );
COMPRESS()
ています。UNCOMPRESS()
[圧縮されているかどうかに関係なく]列にインデックスを付ける代わりにTEXT
、そのテキストが一意であることを保証する2つの比較的小さなものを格納してインデックスを付けることができます。
ほとんどのハッシュ関数では、異なるテキスト文字列に対して 2 つの同一のハッシュを使用するよりも隕石に当たる可能性が高く、2 つの同一の長さとハッシュ文字列を使用することは、同時に 3 つの宝くじに当選しているときに隕石と雷に当たる可能性が低くなります。
テキストサイズを縮小する圧縮アルゴリズムが必要だと仮定します。