2009-07-09 7 views
0

私はJoomla 1.5とVirtueMart 1.1.3を使用しています。Joomla/VirtueMartを使用する大規模なMySQL tmpファイル

特定のクエリが実行されるたびに1.6 GBのtmpファイルが作成されるという問題があります。これは普通ですか?私はvirtuemartが巨大なjoin文を使って製品テーブル全体と他のいくつかのテーブルを引っ張っていると思います。私は、クエリを構築するファイルが見つかりましたが、私はこれを最適化するためにどこから始めるべきかわかりません。私がvirtuemartを行ったとしても、この1つのファイルを使用してすべてのSQL文が作成されているので、何かを破壊する可能性があります。

答えて

0

MySQL slow query log(および/または有効にする)を見れば、時間と空間を取っている特定のクエリを見ることができます。それで、MySQLのEXPLAIN機能を使用して、クエリが遅い理由を確認することができます。

あなたが運が良ければ、VirtueMartの開発者はテーブルに有効なインデックスを追加していないだけです。そのため、MySQLはゆっくりとやり方をとる必要があります(つまりfilesortなど)。あなたが不運な場合は、スキーマを変更することは役に立たず、VirtueMart開発者にこれを服用させるか、自分で修正する必要があります。

解決策が見つかった場合は、おそらくVirtueMartチームに知らせるべきです。

運が良かった!

+0

ありがとうございました。私は、クエリの1つがfilesortを使用していることを発見しました。 – Samuel

関連する問題