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

NOT EXISTSの利用

引き続きNOT EXISTSの利用です。 思った以上に使えますね・・・がムズイ。 今回は下記のようなテーブル(seats)があるとします。 ケースとしては新幹線の座席番号で空は席が空いている状態、占は …

no image

SQLインジェクション

セキュリティ関係の知識がぬるいのでちょっとお勉強。 知っていることもあるが復習もかねて勉強を。 Contents1 SQLインジェクションとは?2 被害3 対策4 参考サイト・書籍5 ソース SQLイ …

no image

正規化のデメリット

Contents1 正規化のデメリット2 本日のSQL 正規化のデメリット 正規化についていろいろ書いてきましたが、メリットもあればデメリットもあります。 メリットとしては データの不整合が起きにくい …

no image

DBの基礎 テーブルとは

CSSを学習したあとはデータベースの学習などを。 参考図書:「達人に学ぶDB設計指南書」基本的にはこれを読んでいきます。が、現状よくわからないところは飛ばしていきます・・・ Contents1 テーブ …

no image

MySQLのLIMIT,OFFSETに関して&explainの見方など

自作のWEBアプリを作っていたところSELECT句が異常に遅いケースがありました。 発見までにかなり時間がかかったんですが、不可思議な現象としてはOFFSETが小さいときと大きいときで検索スピードが全 …

アーカイブ