プロが教える店舗&オフィスのセキュリティ対策術

チューニングについて質問です。

1. SQLの純粋な実行速度を知るにはどうしたらよいか
2. SQLの叩かれる回数が多い場合にレスポンスが遅くなるのはどう対応すればよいか

1については、純粋に単体での実行時間が知りたいのですがSQLのキャッシュが残っているせいか、高速に処理されてしまうために、なかなか正確な時間が分かりません。
どのようにしたら単体での実行速度を計測できるのでしょうか。

2については、SQL単体ではなかなかの速度が出せているのに、そのSQLが短時間に大量に呼び出される場合に、サーバの負荷があがり、レスポンスが遅くなってしまう場合はどう対処すればよいのかを聞きたいです。

よろしくお願い致します。

A 回答 (2件)

そもそもキャッシュも含めてSQLの性能かと思います、むしろキャッシュのない


SQLなんて実際の運用とかけ離れていて計測の意味がないかと。

どうしてもキャッシュをはずしたいならSQL実行前に
MySQLのサービスを再起動してしてみるとよいでしょう

また」キャッシュも含めて良いなら、数回~数十回SQLを走らせて
平均をとるなどで実際の運用速度を計測するのが妥当です

>SQLが短時間に大量に

どんなタスクでも大量に処理すれば負荷があがるのはどうしようもないかと
とはいえ、よく使われる集計項目にあわせた中間テーブルをつくっておけば
むだな集計が省くことができたりします
たとえば特定の粗データを日次データや月次データに集計すれば
効率としては何十~何百分の一にすることもできます。
    • good
    • 0

1についてです


クエリキャッシュを0にしてみたらどうでしょう

2についてです
更新の少ないテーブルならばオンメモリ化してしまうのも手です
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す