2

サイトの読み込み時間が非常に遅いです。読み込みに時間がかかるのは JavaScript か php ではないかと疑っていますが、サイトを YSlow でテストしたところ、評価は B で、悪くないと思います。

ここで、クエリ、データベースのインデックス作成に問題があり、サイトの読み込みが遅くなっていないか、データベースをチェックしたいと考えています。

遅いクエリがあるかどうかを判断するために、データベースを読んだりテストしたりするチュートリアルやトリックはありますか? データベース管理のヒントはありますか?

4

3 に答える 3

5

クエリの実行を高速化するために、私は常に2つのマントラにフォールバックします-

  1. インデックス、インデックス、インデックス。
  2. JOINSできるだけ取り除くようにしてください。

遅いクエリを除外するための試行済みのテスト済みの方法がいくつかあります。スロー クエリ ログをオンにする必要があります。これにより、実行に x 秒以上かかるすべてのクエリがログに記録されます。x は mysql.conf で指定します。

遅いクエリがログに記録され始めると。クエリを使用して各クエリを分析しEXPLAIN、インデックスを適切に追加して、クエリの実行を高速化できます。

于 2012-10-24T00:57:25.867 に答える
0

PDO (以前は MySQL の上) の上に薄いデータベース抽象化レイヤーがあり、オンとオフを切り替えることができる単純なクエリ ログを焼き付けました。これにより、クエリのレポートとそれぞれのレポートを取得できます。取った。したがって、単純なカットオフ (クエリが長いかそうでないか) ではなく、すべてのクエリ時間を確認できます。

MySQL のスロー クエリ ログは優れていますが、1 秒の解像度では私のニーズには不十分です。私にとって、多くの場合、200 ミリ秒かかるクエリは何か問題があることを示しています。

ここに年齢を表示しています。MySQL のマニュアルをlong_query_timeざっと確認したところ、MySQL 5.1.27 以降では、MySQL がマイクロ秒単位の精度で指定できることがわかりました。それにもかかわらず、私の方法はまだ便利です。

于 2012-10-24T01:05:01.770 に答える
0

MySql に焦点を当てた、SQL パフォーマンスの優れたチュートリアル。結合については、それらを取り除くことができない場合は、正しいものを使用してください: LEFT JOIN、RIGHT、INNER、OUTER

于 2012-10-24T06:39:27.097 に答える