2011-10-20 6 views
3

私は単純なSELECTクエリの束を持つかなり静的なテーブルを叩いています。
パフォーマンスを向上させるため、私は自身のメモリキャッシュをそのデータに書き込むことを検討しています。
しかし、それはDBの汚い行為をするように感じる。

特定のテーブルの細かいキャッシングメカニズムはありますか?MySQLの個別のテーブルキャッシング

+1

タイプがMEMORY(またはHEAP)のテーブルを作成できますが、mysqlの再起動時に失われます。 – ggiroux

答えて

5

InnoDBを使用すると、MySQLによって自動的にテーブルがキャッシュされ、よく使われるインデックスのハッシュインデックスが作成されます。
私は、MySQLの処分時のメモリ容量を増やすことをお勧めします。
デフォルトでは、MySQLはスペースを節約するために設定されています。

http://www.debianhelp.co.uk/mysqlperformance.htm
http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/

またインデックスを使用して、よりスマートなクエリを記述します。ここでは

は、いくつかのリンクあなたがチューニングと一緒に行くを取得するためです。
しかし、私たちに質問を表示しないと、あなたを助けることはできません。

0

メモリデータベース(innodbなど)があります。あなたはテーブルの作成時にそれを選択します。

+0

十分なバッファスペースがある場合、InnoDBはすべてをキャッシュします。 – Johan

0

静的なISAMテーブルを、RAMに常駐する一時テーブルにコピーすることができます。 OTOH、それはテーブルがすでにキャッシュされている可能性が高いので、あまり役に立たないかもしれません。あなたの質問を表示するのはどうですか?

関連する問題