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フロートの特性についての簡単な説明

推薦する

7つの便利なTypeScriptの新機能

目次1. オプションの連鎖2. NULL値の結合3. 再帰型エイリアス4. アサーション署名5. P...

MySQL Shellの紹介とインストール

目次01 レプリ​​カセットアーキテクチャ02 MySQL Shellの紹介とインストール03 My...

MySQL での and or クエリの優先度分析

これは見落とされがちな問題かもしれません。まず、次の点を明確にする必要があります。 MySQL では...

ページ リファクタリング スキル - Javascript、CSS

JS、CSSについてCS: ...上部のスタイルシートCSS式を避ける外部JS、CSSの使用JSと...

モバイル開発における 1px ラインの理解と解決策

1pxの線が太くなる理由モバイルプロジェクトに取り組むとき、設計図に従って要素ノードのサイズとスタイ...

win10環境でDockerをインストールする実装

1. Docker公式サイトにアクセスするまず、Dockerの公式ウェブサイトにアクセスして、最新の...

MySQL サービス 1067 エラーの解決策: mysql 実行可能ファイルのパスを変更する

今日、MySQLサービス1067エラー問題に遭遇しました。システムアカウントを使用するように設定して...

Mysql マルチテーブル結合クエリの実行の詳細について簡単に説明します。

まず、このブログのケースデモンストレーション テーブルを作成します。 create table a(...

Webフロントエンド開発におけるエラーを見つけるための基本的な考え方

WEB開発は主に2つのインタラクション(B/Sデータ)から構成されますブラウザ: 1html、css...

Jenkins + Docker + ASP.NET Core の自動デプロイメントの問題について (落とし穴を避ける)

このブログを書くつもりはなかったのですが、実際の操作中に、ネットワークの問題に圧倒されたこと (ネッ...

CSS3はNESゲームコンソールのサンプルコードを実装します

成果を達成する実装コードhtml <input type="radio" ...

JavaScript カスタム カレンダー効果

この記事では、JavaScriptカスタムカレンダーエフェクトの具体的なコードを参考までに紹介します...

Vue フィルターの実装と適用シナリオの詳細な説明

1. 簡単な紹介Vue.js を使用すると、一般的なテキストの書式設定に使用できる独自のフィルターを...

HTMLからPDFへのスクリーンショット保存機能の実装

テクノロジーの活用itext.jar: バイト ファイル入力ストリームを画像、PDF などに変換しま...

CSSでフォントアイコンを使用する方法をお教えします

まず、フォントアイコンとは何でしょうか?表面的にはアイコンですが、実際はテキストです。テキストの設定...