内部的な理由 (フレームワーク構造) により、中程度の BLOB を持つテーブルに多くの画像を保存します。
これらの画像を取得するクエリがかなり低いレートで送信されることを考えると、このテーブルをメモリから遠ざけるように mysql に指示する方法はありますか? メモリ内に 2GB のテーブルをたまにしか使用したくありません。
これを最適化する方法はありますか?
(注:これが役立つ場合は、このテーブルのみを含む新しいデータベースにこのテーブルを移動できます)
ありがとう
内部的な理由 (フレームワーク構造) により、中程度の BLOB を持つテーブルに多くの画像を保存します。
これらの画像を取得するクエリがかなり低いレートで送信されることを考えると、このテーブルをメモリから遠ざけるように mysql に指示する方法はありますか? メモリ内に 2GB のテーブルをたまにしか使用したくありません。
これを最適化する方法はありますか?
(注:これが役立つ場合は、このテーブルのみを含む新しいデータベースにこのテーブルを移動できます)
ありがとう
ストレージ エンジンがサポートしていないため、MySQL は BLOB 型のメモリ内テーブルを生成しません。
http://dev.mysql.com/doc/refman/5.0/en/internal-temporary-tables.html
「一部の条件では、メモリ内の一時テーブルを使用できません。その場合、サーバーは代わりにディスク上のテーブルを使用します。
つまり、BLOB を別のテーブルに配置し、他の有用なデータを BLOBless テーブルに残して、テーブルが最適化されるようにする必要があります。
そのようなテーブルを別のデータベースに移動することは、私にとって完全に有効なアプローチのように思えます。職場では、運用コンテンツ (注文、カタログなど) 用に 1 つのデータベース サーバーと、ログ (Web ログと電子メールのコピー) およびメディア (画像、ビデオ、およびその他のバイナリ) 用に 1 つのデータベース サーバーがあります。前述のように、バッファキャッシュ(またはストレージエンジンの同等のもの)を分割するため、同じマシンで個別のインスタンスを実行することも価値があります。