MySQLのスロークエリログの概要を表示方法についてです。
※目次をクリックすると目次の下部にコンテンツが表示されます。
スロークエリログの概要
・スロークエリログは、”min_examined_row_limit”サーバーシステム変数で指定した行以上のクエリで、”long_query_time”サーバーシステム分数で設定した時間以上の実行時間を要した場合にそのSQLをログに記録する。
・”long_query_time”のデフォルトは10秒。マイクロ秒単位に設定でき、0にしてすべてを記録することも出来る。
・ログをファイルに記録する場合はマイクロ秒単位で時間が記録されるが、テーブルに記録する場合は秒単位。
・デフォルトでは、管理用のSQLやインデックスを指定していないクエリは記録されない。変更する場合は、–log-slow-admin-statements、–log-queries-not-using-indexesで設定する。
管理用のSQLは、ALTER TABLE, ANALYZE TABLE, CHECK TABLE, CREATE INDEX, DROP INDEX, OPTIMIZE TABLE, REPAIR TABLEなど。
・スロークエリログの有効、無効は–slow_query_log[={0|1}]で設定。デフォルトはOFF。
・–slow_query_log_file=file_nameでファイル名を指定する事が出来る。
指定していない場合のデフォルトは、host_name-slow.logでPIDファイルと同じディレクトリに作成する。
ファイル名を指定した場合は、データディレクトリ内に作成する。
・–log-outputで、出力先をテーブルに指定する事が出来る。この設定がNONEの場合は、–slow_query_logの設定より優先され、無効になる。デフォルトはFILE。
・”long_query_time”のデフォルトは10秒。マイクロ秒単位に設定でき、0にしてすべてを記録することも出来る。
・ログをファイルに記録する場合はマイクロ秒単位で時間が記録されるが、テーブルに記録する場合は秒単位。
・デフォルトでは、管理用のSQLやインデックスを指定していないクエリは記録されない。変更する場合は、–log-slow-admin-statements、–log-queries-not-using-indexesで設定する。
管理用のSQLは、ALTER TABLE, ANALYZE TABLE, CHECK TABLE, CREATE INDEX, DROP INDEX, OPTIMIZE TABLE, REPAIR TABLEなど。
・スロークエリログの有効、無効は–slow_query_log[={0|1}]で設定。デフォルトはOFF。
・–slow_query_log_file=file_nameでファイル名を指定する事が出来る。
指定していない場合のデフォルトは、host_name-slow.logでPIDファイルと同じディレクトリに作成する。
ファイル名を指定した場合は、データディレクトリ内に作成する。
・–log-outputで、出力先をテーブルに指定する事が出来る。この設定がNONEの場合は、–slow_query_logの設定より優先され、無効になる。デフォルトはFILE。
mysqldumpslowコマンドでスロークエリログのサマリーを表示
●mysqldumpslowコマンド
・ある特定の数値や文字列データを除いた類似したクエリーをグループ化して表示。
使用例)
・ある特定の数値や文字列データを除いた類似したクエリーをグループ化して表示。
使用例)
shell> mysqldumpslow Reading mysql slow query log from /usr/local/mysql/data/mysqld51-apple-slow.log Count: 1 Time=4.32s (4s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost insert into t2 select * from t1 Count: 3 Time=2.53s (7s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost insert into t2 select * from t1 limit N Count: 3 Time=2.13s (6s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost insert into t1 select * from t1
-
インストール、基本設定、文字コード、仕組み
- MySQLのインストール
- CentOS6でMySQL5.1からMySQL5.7へアップデートする手順、注意点
- CentOS6.10でMySQL5.7からMySQL8へアップデートする手順、注意点
- MySQLサーバーの起動スクリプト(v5.1)
- MySQLのファイルシステムとストレージエンジンの概要
- MySQLのデータ型の概要
- MySQLのサーバー、データベース、テーブル、カラムの文字コード設定とクライアントからのサーバー接続時の文字コード設定
- MySQLの”LOAD DATA INFILE”などでCSVファイル入出力時の文字コード、権限などの注意点
- セキュリティを考慮し、MySQLの匿名ユーザーにパスワードを設定、または削除
- CentOS6にphpMyAdminを導入
- MySQLのbツリーインデックスの概要とマルチカラムインデックス
- MySQLのプレフィックスインデックス、FULLTEXTインデックスの概要
- MySQLのEXPLAINの実行例
- MySQLのインデックス結合の概要
- MySQLのSelect文でインデックスのカラムのみ取得する場合のメリット
- MySQLのORDER BY句でインデックスを使用
- MySQLのPACK_KEYSオプション
- MySQLのインデックス統計更新の概要
- MySQL初期設定確認
- mysqladminコマンドでMySQLサーバーの状態確認
- mysqlshowコマンドで簡単にデータベース、テーブル定義の確認
- awkを使ってmysqlshowの必要な列のみ表示
- MySQLのスロークエリログの概要と表示方法
- show profileでクエリーの内部処理時間を調査
- MySQL Benchmark Suiteによるパフォーマンス測定
- MySQLの診断、監視に利用できる外部ツール
- WordPressデータベースのバックアップとリストア
- Bashスクリプトでmysqldumpバックアップと世代管理
- MySQLの壊れたテーブルのチェック、修復方法
- MySQLのインデックス統計更新の概要
- MySQLのフラグメンテーションの概要と改善方法
- MySQLのスレッド、コネクションに関する設定値、チューニング
- MySQLのセッション単位に設定するバッファーサイズ
- MySQLのクエリキャッシュの設定値、パフォーマンス
- MySQLのテーブルオープン、クローズとテーブルキャッシュのチューニング
- MyISAMキーキャッシュの概要とチューニング
- MySQLのソートに関する設定値とステータス
- MySQL innoDBの性能関連の設定値とステータス確認
- MySQL MyISAMの性能関連の設定値とステータス確認
インデックス
状態確認、調査
バックアップ、リストア、メンテナンス
パフォーマンス、チューニング