• ベストアンサー

1回目の実行に3分、2回目の実行に3秒のSQLで1回目を早くする方法ありますか?

1回目と2回目で全然速度が違うのですが、 1回目のSQLの結合条件を減らすと早いです。 こういう場合、SQLを見直す以外に、 DBや、my.cnfの何を見直せば1回目が 早くなる可能性があるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

2回目はキャッシュしてるからでは? 単純に1回目を早くするために、インデックスを適切に設定し、 効率的なSQLを書くしかありません。 まずはEXPLAIN構文を学習するとよろしいかと。 http://dev.mysql.com/doc/refman/4.1/ja/explain.html

php4
質問者

お礼

いつも、ありがとうとございます。 やはり。キャッシュですよね・・ バッチ処理で動かすと なぜか、1回目から早く動作する時もあるので困っています。 データベースは大量データを扱う場合、専門知識が必要ですね。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>データベースは大量データ 大量データの質にもよりますね。 実際100万単位のデータならSQLでは「小量」のレベルです。 億単位ならわかりますが・・・。 よほどのことがない限り、SQLを使う限りそれなりの短時間で できるはずなので、SQLの最適化について見識を深めるのが先決かと。

関連するQ&A