MySQL スロークエリログに関連する構成と使用法

一个新手
リリース: 2017-09-30 10:36:15
オリジナル
1227 人が閲覧しました

MySQL スロー クエリ ログは、指定した時間しきい値を超えるクエリ情報を提供し、パフォーマンスの最適化のための主な参照を提供します。
MySQL スロー クエリ ログは、開いて設定するのが非常に簡単で、記録されたファイルを指定できます。 (またはテーブル)、超過した時間のしきい値などを遅いSQLとして記録できます
正直、sqlserverのトレースや拡張イベントと比べると(この2つの機能はそれだけではありませんが)、MySQLの構成は複雑です。いつも人々にとても爽やかな気持ちを与えてくれます。

1. スロークエリログを開くには、通常の状況では、設定ファイルにslow_query_log = 1設定を追加するだけです。つまり、slow_query_log_fileが指定されていない場合、スロークエリログを開くには、ホスト名 + 'slow' が自動的に生成されます

2. デフォルトでは、スロークエリを記録するための時間しきい値は 10 秒です

デフォルトでは、slow_query_log = 1 を指定すると、MySQL を起動すると、スロー クエリを開いて、デフォルトの Hostname++ 'slow'.log ファイルを自動的に生成して、実行時間が 10 秒を超えるスロー クエリを記録できます。

スロークエリのログファイル名(存在しない場合は自動的に作成されます)とスロークエリを記録する時間のしきい値(デフォルトではない10秒)を明示的に指定することもできます。

設定ファイルでlong_query_timeを指定する場合、時間単位は必要なく、1秒を表す1などの値のみが必要であることに注意してください。時間単位が指定されている場合、サービスは開始されません。

以下はログファイルに記録される遅いSQLの例です

3. 遅いクエリのログをテーブルに記録します

設定: 遅いクエリをテーブルに記録するには、log_output設定を追加する必要があります。 table Winning

mysql ライブラリの下にデフォルトの throw_log テーブルがあります。slow_query_log_file = throw_log を直接設定して、スロー クエリ ログをテーブルに記録できます。

記録された遅いSQLは以下の通りです。 sql_textは元のSQLテキストではなくバイナリ情報であることがわかります

CONVERT関数で変換できます。

ログファイルとテーブルに記録されるスロークエリの違いについて:

1. スロークエリはログファイルとテーブルに記録されますが、テーブルに記録される場合、実行時間はそれほど変わりません。スロークエリの情報は微妙になるほど正確ではありません、

2. スロークエリの情報がテーブルに記録されていればクエリには便利ですが、構造化データなので記録するよりも少し遅くなる可能性がありますスロー クエリ ログ ファイル (フラット テキスト ファイル) (個人的な推測) に記録されている場合は、mysqldumpslow ツールで解析する必要があります。

3. 遅いクエリでは、実行に失敗したクエリは記録されません。たとえば、long_query_time が 10 (10 秒) に設定され、クエリが 10 秒を超えても、他の理由で実行に失敗した場合、MySQL の遅いクエリは記録されません。このクエリ情報を記録できます。

以上がMySQL スロークエリログに関連する構成と使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート