skillup

技術ブログ

Database

slow-query-logについて

投稿日:2017年3月6日 更新日:

データベースを伴う部分でののチューニングですが、大きく分けると

  1. SQLを書き直す
  2. インデックスを張りなおす
  3. プログラム内部でキャッシュを有効化する
  4. 設定ファイルの修正

上記のようなかんじになるのではないかと思います。

SQLの書き直しですが、SQL自体が遅い場合とSQLの発行回数を抑えるなどの方法があげられるでしょう。

そこで大切になってくるのが遅いSQLを特定することですね。

データがあまりない場合、遅さがわからなかったりするのでそもそも遅いものを特定することが大切になってきます。

MySQLにはslow_query_logという遅いクエリを出力する機能があります。どれくらい遅いかも自分で設定できるので、

この場合設定ファイル( /etc/my.cnf )に下記のように書いてあげればOKです。

※ただログを吐くと当然その分遅くなるので、できれば開発でやったほうが良いようです。

MySQLのslow-query-logの出力場所を確認する
MySQL初級者を脱するために勉強してること -調査編-

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

データベースアンチパターン・グレーパターンまとめ

本で勉強したものと自分で個人的に経験したことのまとめ Contents1 値渡しと参照渡しの混同2 型の制約が弱い3 変更していいデータ、していけないデータ4 参照系と履歴系のデータを区別する5 リレ …

no image

NOT EXISTSの利用2

今回もNOT EXISTSの利用です。 前回の問題にプラスアルファし、列が一緒でないと連続でも意味ない仕様にします。 例えば下記のようなテーブルがあるとします。 seat | row_id | sta …

no image

CASE式のすすめ その2

本日も「達人に学ぶSQL徹底指南書」を地道に進めていきます。 Contents1 CASE式の利用2 UPDATE文のCASE3 テーブル同士のマッチング CASE式の利用 私自身はCHECK制約を使 …

no image

論理設計のグレーノウハウ サロゲートキー

前回まではアンチパターンやバッドノウハウについて学習してきましたが、今回はグレーノウハウについて特集します。 グレーノウハウとは読んで字のごとくホワイトともブラックとも言えないという手法ですね。 つま …

no image

SQL問題

今までやったSQL問題などのまとめ。定期的にやる予定です・・ 自分用なのでテーブルデータとかあったりなかったりいい加減です(汗) SQLドリル 問題1 nameとageで構成されたテーブルがあるとして …