ホームページ  >  記事  >  データベース  >  mysql のスロークエリログには何が記録されますか?

mysql のスロークエリログには何が記録されますか?

WBOY
WBOYオリジナル
2022-05-19 16:34:162575ブラウズ

mysql では、スロー クエリ ログには、応答時間がしきい値を超えるステートメントが記録されます。応答時間のしきい値は、実行時間が「long_query_time」を超える値です。この値のデフォルト値は 10 で、これは低速です。クエリ ログ レコード: 実行に 10 秒以上かかる SQL ステートメント。スロー クエリ ログは、ログ レコードをログ ファイルとデータベース テーブルに書き込みます。

mysql のスロークエリログには何が記録されますか?

このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。

mysql のスロー クエリ ログ レコードとは何ですか?

MySQL のスロー クエリ (正式名はスロー クエリ ログ) は、MySQL によって提供されるログ レコードで、MySQL の応答時間が超過したときに記録するために使用されます。しきい値ステートメント。

特定の環境では、実行時間が long_query_time 値を超える SQL ステートメントがスロー クエリ ログに記録されます。

long_query_time のデフォルト値は 10 です。これは、10 秒を超えて実行されるステートメントが記録されることを意味します。

デフォルトでは、MySQL データベースはスロー クエリ ログを開始しないため、このパラメータを手動で設定する必要があります。

もちろん、チューニングに必要ない場合は、このパラメーターを有効にすることは一般的に推奨されません。これは、スロー クエリ ログを有効にすると、多かれ少なかれパフォーマンスに一定の影響があるためです。

スロー クエリ ログは、ログ ファイルおよびデータベース テーブルへのログ レコードの書き込みをサポートします。

パラメータの説明

  • slow_query_log: スロー クエリ ログを有効にするかどうか。1 はオン、0 はオフを意味します。

  • log-slow-queries: 古いバージョン (5.6 より前のバージョン) MySQL データベースのスロー クエリ ログ ストレージ パス。このパラメータを設定することはできません。システムはデフォルトのファイル host_name-slow.log

  • slow-query-log-file: 新しいバージョン (5.6 以降) MySQL データベースを使用します。低速クエリ ログのストレージ パス。このパラメータは設定できません。システムはデフォルトのファイル host_name-slow.log

  • long_query_time: 遅いクエリのしきい値を設定します。クエリ時間が設定されたしきい値よりも長い場合、保持します。ログ。

  • log_queries_not_using_indexes: インデックスを使用しないクエリもスロー クエリ ログに記録されます (オプション)。

  • log_output: ログの保存方法。 log_output='FILE' は、ログをファイルに保存することを意味し、デフォルト値は 'FILE' です。 log_output='TABLE' は、ログをデータベースに保存することを意味します。

拡張知識:

1. スロー ログ機能のステータスを確認します。スロー ログ機能はデフォルトでオフになっており、次のような変数を表示します。 '%slow_query_log% ';

OFF は、スロー ログ機能がオフになっていることを示します。スロー ログ レコードは DESKTOP-2331B4V-slow.log ファイルに保存されます。DESKTOP は私のコンピュータの名前です。

2. スロー ログ機能をオンにして、global throw_query_log=1 を設定します。

次に、スロー ログ ステータスをクエリします。

ステータスは ON、つまりスロー ログ機能が有効であることを意味します。オン。

3. デフォルトの long_query_time 時間を確認します

long_query_time は 10 秒です。これは、10 秒を超える SQ ステートメントがスロー ログに記録されることを意味します。

4. long_query_time を設定します。デフォルトの 10 秒は長すぎます set global long_query_time=3;

セッションを再度開きます。ウィンドウ システムの場合は、もう一度 cmd を入力するだけです (メモlong_query_time が設定されているセッションで引き続き long_query_time 期間をクエリしても、デフォルトの 10 秒のままであるため、セッションを再起動する必要があります)、もう一度 long_query_time 期間をクエリします

推奨される学習: mysqlビデオチュートリアル

以上がmysql のスロークエリログには何が記録されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。