MySQL Profiler:シンプルで便利なクエリプロファイリングツール

今日、MySQLの便利な機能に予想外に驚きました。 ;-)



MySQLの機能であるプロファイリングに注目してください。

バージョン5.0.37以降に登場しました。



ページがどのようなリクエストで形成されているかを知ることができるリクエストはわずかです(Web開発者向け)

そして、なぜそれが遅くなっているのですか。



以前は、このような機能は利用可能でしたが、クエリログを使用することはより困難な例ではありません。



使用方法:





 mysql> set profiling = 1;
 mysql>コメントからカウント(*)を選択します。
メッセージからmysql> select count(*);
 mysql>プロファイルを表示します。

 + ---------- + ------------ + ------------------------- ----- +
 |  Query_ID | 期間| クエリ|
 + ---------- + ------------ + ------------------------- ----- +
 |  1 |  0.00012700 | コメントからカウント(*)を選択|
 |  2 |  0.00014200 | メッセージからカウント(*)を選択|
 + ---------- + ------------ + ------------------------- ----- +
セット内の2行(0.00秒)





出来上がり! ランタイムでのセッションごとの完了したすべてのリクエスト。



私の意見では、それは非常にシンプルで非常に便利です。



さらに進んで、各リクエストにかかった時間を詳細に調べることができます。



 mysql>クエリ1のプロファイルを表示。
 + -------------------------------- + ---------- +
 | ステータス| 期間|
 + -------------------------------- + ---------- +
 | 開始|  0.000015 |
 | クエリのクエリキャッシュを確認する|  0.000021 |
 | 許可の確認|  0.000003 |
 | テーブルを開く|  0.000007 |
 | システムロック|  0.000004 |
 | テーブルロック|  0.000023 |
 |  init |  0.000005 |
 | 最適化|  0.000005 |
 | 実行する|  0.000025 |
 | 終了|  0.000003 |
 | 終了|  0.000001 |
 | クエリ終了|  0.000002 |
 | 結果をクエリキャッシュに保存する|  0.000003 |
 | アイテムを解放する|  0.000003 |
 | テーブルを閉じる|  0.000004 |
 | 遅いクエリのロギング|  0.000002 |
 | クリーンアップ|  0.000001 |
 + -------------------------------- + ---------- +
セット内の17行(0.00秒)




記事のプロファイリングの詳細: 新しいMySQL Query Profilerの使用



更新:zayceslavが正確に認識したように、 show profilesはデフォルトで15リクエストのプロファイルを表示します。 profiling_history_sizeパラメーターを使用してクエリの数を増やすことができますが、100以下にすることができます。



 mysql> set profiling = 1;
 mysql> set profiling_history_size = 100;




PS:これは私の最初の投稿です。厳しく判断しないでください



All Articles