MySQL スロークエリログの役割と公開

MySQL スロークエリログの役割と公開

序文

MySQL スロー クエリ ログは、MySQL が提供するログ レコードの一種です。これは、応答時間がしきい値を超えた MySQL のステートメントを記録するために使用されます。具体的には、実行時間が long_query_time 値を超えた SQL ステートメントがスロー クエリ ログに記録されます。 long_query_time のデフォルト値は 10 です。これは、ステートメントが 10 秒以上実行されることを意味します。デフォルトでは、MySQL データベースはスロー クエリ ログを開始しないため、このパラメータを手動で設定する必要があります。もちろん、チューニングに必要でない場合は、スロー クエリ ログをオンにすると、多かれ少なかれパフォーマンスに影響が出るため、このパラメータを開始することは一般的に推奨されません。スロー クエリ ログは、ファイルまたはデータベース テーブルへのログ レコードの書き込みをサポートします。

公式ドキュメントではスロークエリログについて以下のように紹介されています(部分的な情報ですので、詳細は公式の関連リンクを参照してください)。

スロー クエリ ログは、実行に long_query_time 秒以上かかり、検査に少なくとも min_examined_row_limit 行必要だった SQL ステートメントで構成されます。long_query_time の最小値とデフォルト値は、それぞれ 0 と 10 です。値はマイクロ秒の解像度で指定できます。ファイルにログを記録する場合、マイクロ秒部分を含めて時間が書き込まれます。テーブルにログを記録する場合、整数時間のみが書き込まれ、マイクロ秒部分は無視されます。

デフォルトでは、管理ステートメントはログに記録されず、検索にインデックスを使用しないクエリもログに記録されません。この動作は、後述するように、log_slow_admin_statements と log_queries_not_using_indexes を使用して変更できます。

スロークエリログ関連のパラメータ

MySQL の遅いクエリに関連するパラメータの説明:

  • slow_query_log : スロークエリログを有効にするかどうか。1 は有効、0 は無効を意味します。
  • log-slow-queries: MySQL データベースの古いバージョン (5.6 未満) のスロー クエリ ログの保存パス。このパラメータを設定しない場合、システムはデフォルトのファイルhost_name-slow.logを使用します。
  • slow-query-log-file: MySQL データベースの新しいバージョン (5.6 以上) のスロー クエリ ログの保存パス。このパラメータを設定しない場合、システムはデフォルトのファイルhost_name-slow.logを使用します。
  • long_query_time: 遅いクエリのしきい値。クエリ時間が設定されたしきい値を超えると、ログが記録されます。
  • log_queries_not_using_indexes: インデックスを使用しないクエリもスロークエリ ログに記録されます (オプション)。
  • log_output: ログの保存方法。 log_output='FILE' はログをファイルに保存することを意味します。デフォルト値は 'FILE' です。 log_output='TABLE' はログをデータベースに保存することを意味するため、ログ情報は mysql.slow_log テーブルに書き込まれます。 MySQL データベースは、同時に 2 つのログ保存方法をサポートします。設定するときは、log_output='FILE,TABLE' のように、カンマで区切るだけです。システムの専用ログ テーブルにログを記録すると、ファイルにログを記録するよりも多くのシステム リソースが消費されます。したがって、低速クエリ ログを有効にしてシステム パフォーマンスを向上させる必要がある場合は、まずファイルにログを記録することをお勧めします。

スロークエリログの役割

スロー クエリ ログには、実行に指定された時間よりも長い時間がかかる SQL ステートメントが記録されます。スロー クエリ ログを使用すると、パフォーマンスのボトルネックを特定して分析できます。

スロークエリログ機能が有効になっているかどうか、スロークエリログファイルが保存されているディレクトリを確認します。

「slow_query%」のような変数を表示

低速クエリのログ記録を有効にする

  • slow_query_logはスロークエリログのスイッチステータスを設定できます
  • long_query_timeはクエリのタイムアウト時間を秒単位で設定できます。

MySQL設定ファイル/etc/my.cnfで、

slow_query_log=オン
長いクエリ時間=1

スロー クエリ ログを有効にすると、クエリに 1 秒以上かかる SQL ステートメントが記録されます。ログは、MySQL を再起動すると有効になります。

次のSQLを使用して次のことをテストできます。

スリープ(2)を選択します。

遅いクエリログファイル

TCP ポート: 0 Unix ソケット: (null)
時間IDコマンド引数
# 時間: 210125 6:30:14
# ユーザー@ホスト: reptile[reptile] @ [192.168.10.254] Id: 1
# クエリ時間: 2.000380 ロック時間: 0.000000 送信行数: 1 検査行数: 0
タイムスタンプを1611556214に設定します。
スリープ(2)を選択します。
  • SET timestamp=1611556214; sqlタイムスタンプを実行
  • Query_time SQL実行時間
  • Rows_sentは複数のレコードを返します

要約する

これで、MySQL スロー クエリ ログの役割と有効化に関するこの記事は終了です。MySQL スロー クエリ ログに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySql のスロークエリ分析とスロークエリログの開き方の詳細説明
  • MySQL のスロークエリログを有効にする方法 log-slow-queries
  • MYSQL5.7.9 でスロークエリログを有効にするヒント
  • mysql のスロークエリを有効にする方法 mysql のスロークエリのログを有効にする方法
  • MySQL でスロークエリログを有効にする方法
  • MySQL でスロークエリログ機能を有効にする方法
  • MySQLデータベースでスロークエリログを有効にする方法の詳細な説明
  • MySQL スロークエリログの有効化と設定
  • MySQL最適化ソリューション: スロークエリログを有効にする

<<:  ApacheBench でマルチ URL をサポートする方法

>>:  CSSフロートの特性についての簡単な説明

推薦する

CSS3は三角形の連続拡大効果を実現します

1. CSS3の三角形は特殊効果でズームし続けます11.1 画像プレビュー 11.2 index.h...

シンプルな計算機を実装する JavaScript コード

この記事では、参考までに、簡単な計算機を実装するためのJavaScriptの具体的なコードを紹介しま...

MySQLは2つの日付間の日数、月数、年数を計算します

MySQL 組み込みの日付関数 TIMESTAMPDIFF は、2 つの日付間の秒数、分数、時間数、...

vue3を使用してAppleシステムのサイドメッセージプロンプト効果を模倣する

目次アニメーションプレビューその他のUIライブラリ始めるコンポーネントディレクトリ構造トーストおおよ...

モバイル適応型ウェブページ効果は、小さな表示ページの問題を解決します

仕事上、携帯電話に適応した Web ページ効果を作成する必要があります。ようやく完成しました。まずは...

要素の高さを下から上へ、上から下へ制御する CSS メソッド

よくある質問から議論を始めましょう。CSS を使用して要素の高さを [ブラウザ コンテンツ ウィンド...

MySQLのスローログの開き方と保存形式の詳細な分析

開発プロジェクトでは、MySQL のスロークエリログを通じて効率の問題のある SQL を監視できます...

Reactエラー境界コンポーネント処理

React 16の内容です。最新技術ではありませんが、ドキュメントで調べるまであまり話題に上がらなか...

JavaScript と JQuery フレームワークの基本チュートリアル

目次1. JS オブジェクトDOM –1、機能–2、テスト3. jQuery –1. 概要–2、使用...

Vueコンポーネントドキュメント生成ツールライブラリのメソッド

目次.vue ファイルの解析文書情報を抽出するコンポーネント名、説明、プロパティ、メソッド、モデルを...

MySQL フェイルオーバー ノート: アプリケーション対応設計の詳細な説明

1. はじめに周知のように、データベース ミドルウェアの読み取り/書き込み分離のアプリケーション シ...

Centos7はMySQLログに基づいてデータを復元するためのサンプルコードを実装します

導入Binlog ログ、つまりバイナリ ログ ファイルは、データベースに対するユーザー操作の SQL...

HTML テーブルタグチュートリアル (26): セルタグ

<TD> タグの属性は、テーブル内のセルのプロパティを設定するために使用されます。表 &...

WeChatミニプログラムのすべてのページがログインされていることを確認する方法

目次現状解決さらなる解決策やっと現状WeChat ミニプログラムには、ホームページ、個人ページ、いく...

このポイントのJavaScriptの基本

目次これ方法オブジェクト内これを隠した厳密モード要約するJavaScript の this も不思議...