Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


8.4.2.3 BLOB 型の最適化

  • テキストデータを格納する大きな BLOB を保存する場合、まずそれを圧縮することを考慮します。テーブル全体が InnoDB または MyISAM によって圧縮されている場合は、この技法を使用しないでください。

  • 複数のカラムのあるテーブルで、BLOB カラムを使用しないクエリーのメモリー要件を削減するには、BLOB カラムを個別のテーブルに分割し、必要に応じて、結合クエリーでそれを参照することを考慮します。

  • BLOB 値を取得し、表示するためのパフォーマンス要件は、ほかのデータ型と大きく異なることがあるため、BLOB 固有テーブルを別のストレージデバイスまたは個別のデータベースインスタンスに置くことができます。たとえば、BLOB を取得するには、大量の順次ディスク読み取りが必要で、SSD デバイスより、従来のハードドライブの方が適しています。

  • バイナリ VARCHAR カラムの方が同等の BLOB カラムより推奨されることがある理由については、セクション8.4.2.2「文字および文字列型の最適化」を参照してください。

  • きわめて長いテキスト文字列に対して、同等性をテストする代わりに、個別のカラムにカラムのハッシュを格納し、そのカラムにインデックスを設定して、クエリー内のハッシュ値をテストします。(MD5() または CRC32() 関数を使用して、ハッシュ値を生成します。)ハッシュ関数は、異なる入力で重複した結果を生成することがあるため、引き続きクエリーに句 AND blob_column = long_string_value を含めて、誤った一致に対して保護します。パフォーマンスは、ハッシュ値の小さく、簡単にスキャンされるインデックスからメリットが得られます。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.