MySQL スロークエリーログは、実行に長い時間のかかるクエリーに関する情報を含みます (セクション5.2.5「スロークエリーログ」を参照してください)。mysqldumpslow は MySQL スロークエリーログファイルを解析して内容のサマリーを出力します。
通常、mysqldumpslow は数字の特定の値および文字列データ値以外が同様のクエリーをグループ化します。サマリーの出力を表示する際、これらの値を N
および 'S'
に「抽象化」します。-a
オプションおよび -n
オプションを使用して、値の抽象化の動作を変更できます。
mysqldumpslow は次のように起動します。
shell> mysqldumpslow [options] [log_file ...]
mysqldumpslow は次のオプションをサポートします。
-
ヘルプメッセージを表示して終了します。
-
すべての数字を
N
に、文字列を'S'
に抽象化しません。 -
デバッグモードで実行します。
-
(grep 形式の) パターンに一致するクエリーのみを考慮します。
-
*-slow.log
ファイル名の MySQL サーバーのホスト名。値にはワイルドカードを含めることができます。デフォルトは*
(すべて一致) です。 -
サーバーインスタンス名 (mysql.server 起動スクリプトを使用している場合)。
-
合計時間からロック時間を減算しません。
-
少なくとも
N
桁の数字を名前に抽象化します。 -
ソート順序を逆転します。
-
出力のソート方法。
sort_type
の値は次のリストから選択するようにしてください。t
、at
: クエリー時間または平均クエリー時間でソートl
、al
: ロック時間または平均ロック時間でソートr
、ar
: 送信行数または平均送信行数でソートc
: カウントでソート
デフォルトでは、mysqldumpslow は平均クエリー時間でソートします (
-s at
と同等)。 -
出力内の最初の
N
個のクエリーのみを表示します。 -
冗長モード。プログラムの動作についてより多くの情報を出力します。
使用例:
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