1

mysql データベースに保存したいテキスト データがあります。現在、データを変数に文字列として格納しています。

各行のテキスト データの量が多いため、テーブルが非常に大きくなることが懸念されます。

したがって、この文字列データを保存と検索に理想的な形式に圧縮する最も簡単な方法 (できれば php 組み込み関数) は何ですか?

4

2 に答える 2

2

GZEncodeを使用して文字列を GZIP できます。

これはかなり標準的なので、必要に応じて他の言語から元に戻すことができます。

結果の Base64 バージョンを保存することをお勧めします。

于 2012-11-07T23:06:19.550 に答える
1

InnoDBを使用している場合は、コードにまったく影響を与えないテーブル全体の圧縮を有効にできます。

ALTER TABLE database.tableName ENGINE='InnoDB' ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;

KEY_BLOCK_SIZEを小さい値に変更して、圧縮率を上げることができます(データによって異なります)が、これによりCPUのオーバーヘッドが増加します。さまざまなテーブルをテストした後、KEY_BLOCK_SIZEが8の場合、圧縮とパフォーマンスのバランスが取れていることがわかりました。

于 2012-11-07T23:08:25.750 に答える