MySQL スロークエリログの設定と使用方法のチュートリアル

MySQL スロークエリログの設定と使用方法のチュートリアル

序文

MySQL スロー クエリ ログは、日常業務でよく遭遇する機能です。MySQL スロー クエリ ログは、指定された時間しきい値を超えたクエリ情報を提供し、パフォーマンス最適化の主な参照を提供します。非常に実用的な機能です。MySQL スロー クエリ ログの開き方と設定方法は非常に簡単です。記録するファイル (またはテーブル) を指定し、超過した時間しきい値を遅い SQL に記録できます。正直に言うと、sqlserver トレースや拡張イベント (これら 2 つの機能はそれだけではありませんが) と比較すると、MySQL 設定は常に非常に爽快な気分になります。

1. スロークエリログを開く

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

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

デフォルトでは、 slow_query_log = 1が指定されている場合、MySQL の起動時にスロー クエリが有効になり、実行に 10 秒以上かかるスロー クエリを記録するために、ホスト名++'slow'.log という名前のデフォルト ファイルが自動的に生成されます。

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

注:構成ファイルで long_query_time を指定する場合、時間単位は不要で、1 秒の場合は 1 などの値のみが必要です。時間単位が含まれていると、サービスは開始されません。

以下は、ログ ファイルに記録された低速の SQL ステートメントの例です。

3. スロークエリログをテーブルに記録する

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

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

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

CONVERT関数を使用して変換できます。

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

1. 遅いクエリはログ ファイルとテーブルに記録されます。記録自体はそれほど違いはありません。テーブルに記録すると、遅いクエリの実行時間情報はマイクロ秒単位の精度ではなくなります。

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

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

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。

以下もご興味があるかもしれません:
  • MySql のスロークエリ分析とスロークエリログの開き方の詳細説明
  • MYSQL5.7.9 でスロークエリログを有効にするヒント
  • MySQL の遅いクエリ検索とチューニングテスト
  • MySQL でスロークエリログを有効にする方法
  • MySQL スロークエリログの分析に関する基本チュートリアル
  • MySQLの遅いクエリが失敗の原因となった
  • 遅いSQL文が変換をトリガーしました

<<:  Vue-CLI マルチページディレクトリパッケージ化手順の記録

>>:  シェルで文字列内のスペースや指定された文字を削除する方法

推薦する

CSS3で実装された天気アイコンのアニメーション効果

成果を達成する 実装コードhtml <div class="wrapper"...

MySQLのSQL文はインデックスを使用しません

インデックス集約を使用しない MySQL クエリご存知のとおり、インデックスを追加することはクエリ速...

MySQL のダウンロードとインストールの詳細グラフィックチュートリアル

1. MySQLデータベースをダウンロードするには、公式Webサイトにアクセスしてください:http...

MySQL 上級学習ノート (パート 3): MySQL 論理アーキテクチャの紹介、MySQL ストレージ エンジンの詳細な説明

MySQL 論理アーキテクチャの概要他のデータベースと比較すると、MySQL は、そのアーキテクチャ...

iview権限管理の実装

目次iview-admin2.0 組み込み権限管理権限に基づいてコンポーネントの表示を制御するカスタ...

three.js を使って立体的な矢印線を描く詳細な手順

需要: この需要は緊急に必要です!地下鉄のシーンでは、脱出経路を示す矢印を描かなければなりません。こ...

MySQL をクリーンにアンインストールする方法 (テスト済みで効果的)

Mysql を完全にアンインストールするにはどうすればいいですか?以下の手順に従って実行してくださ...

WeChatアプレットトラック再生の実装と遭遇した落とし穴の詳細な説明

WeChat アプレットの軌跡再生では、主に線描画操作にポリラインを使用し、車の移動操作にマーカーを...

CSS変数var()の使い方を理解する必要があります

Web プロジェクトがどんどん大きくなると、CSS は天文学的な大きさと複雑さを増します。この問題を...

Apache Bench ストレステストツールの実装原理と使用状況分析

1: スループット(1秒あたりのリクエスト数)サーバーの同時処理能力を定量的に表したもので、reqs...

少なくとも7日間連続して注文を行ったユーザーに対するSQLクエリ

テーブルを作成するテーブル order(id varchar(10),date datetime,o...

Centos サーバーに MySql をデプロイし、Navicat に接続するプロセスの詳細な説明

(1)サーバー構成: [root@localhost ~]# cd /usr/local/src/ ...

一般的な XHTML タグの紹介

<br />しばらくの間、多くの人が XHTML の使い方を知らないことに気付きました。...

2秒以内にHTMLページ内の他のページにリダイレクトする方法

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

面接で聞かれる可能性のあるCSSに関する質問

この記事は、100 回書かれ、質問された CSS の質問を記念するためのものです。聞く: CSS セ...