時間のかかるMySQLレコードのSQL例の詳細な説明

時間のかかるMySQLレコードのSQL例の詳細な説明

mysqlは時間のかかるSQLを記録します

MySQL は、最適化と分析のために、時間のかかる SQL やインデックスを使用しない SQL をスロー ログに記録できます。

1. MySQL スロークエリログを有効にする:

MySQL スロー クエリ ログは、問題のあるクエリを追跡するのに非常に役立ちます。現在のプログラムで多くのリソースを消費する SQL ステートメントを分析できます。では、MySQL スロー クエリ ログの記録をオンにするにはどうすればよいでしょうか。

mysql> 'log_slow_queries' のような変数を表示します。
+------------------+-------+
| 変数名 | 値 |
+------------------+-------+
| log_slow_queries | オフ | 
+------------------+-------+
セット内の1行(0.01秒)

マイSQL> 

これは、スロー ログ機能が有効になっていないことを意味します。有効にするには、MySQL 構成ファイルを変更し、構成ファイル "[mysqld]" に次の 2 つのパラメータを追加する必要があります。

長いクエリ時間=1
ログスロークエリ=/var/mysql/logs/slow.log

例示する

長いクエリ時間

このパラメータは、スロー クエリの測定時間を秒単位で示します。最小値は 1、デフォルト値は 10 です。long_query_time よりも長い時間がかかる SQL ステートメントは、スロー クエリ ログに記録されます。

ログスロークエリ[=ファイル名]

file_name パラメータはオプションです。デフォルト値は host_name-slow.log です。file_name パラメータが指定されている場合、MySQL はスロー クエリ ログを file_name で設定されたファイルに記録します。file_name が相対パスを提供する場合、MySQL はログを MySQL データ ディレクトリに記録します。このパラメータは構成ファイルにのみ追加でき、コマンド ラインでは実行できません。

2. 未使用のインデックスクエリを記録するようにスローログを構成する

MySQL 起動構成ファイルまたはコマンド ライン パラメータに「log_queries_not_using_indexes」パラメータを追加して、インデックスを使用しないクエリ ステートメントをスロー ログに追加できます。

例は以下のとおりです。

[root@localhost mysqlsla-2.03]# /etc/my.cnf の詳細 
[mysqld]
データディレクトリ=/var/lib/mysql
log_bin=/tmp/mysql/bin-log/mysql-bin.log
ログビン=オン
ソケット=/var/lib/mysql/mysql.sock
ユーザー=mysql
# mysql 3.x との互換性のため、デフォルトで古いパスワード形式を使用します
# クライアント (mysqlclient10 互換パッケージを使用しているクライアント)。
古いパスワード=1


log_slow_queries=/tmp/127_slow.log
長いクエリ時間=1
インデックスを使用しないログクエリ

.......

mysql を再起動すると、検査結果は次のようになります。

mysql> 'log_slow_queries' のような変数を表示します。
+------------------+-------+
| 変数名 | 値 |
+------------------+-------+
| log_slow_queries | オン | 
+------------------+-------+
セット内の 1 行 (0.00 秒)

mysql> 'long_query_time' のような変数を表示します。
+-----------------+-------+
| 変数名 | 値 |
+-----------------+-------+
| 長いクエリ時間 | 2 | 
+-----------------+-------+
セット内の 1 行 (0.00 秒)

マイSQL>

上記は、MySQL の記録に時間がかかる SQL の例の詳細な説明です。ご質問がある場合は、メッセージを残すか、このサイトのコミュニティで議論してください。お読みいただきありがとうございます。皆様のお役に立てれば幸いです。このサイトのサポートに感謝します!

以下もご興味があるかもしれません:
  • MySQL データ ウェアハウスを保護するための 5 つのヒント
  • MySQL で URL タイムゾーンの罠を回避する方法
  • CentOS YumでMySQL 5.6をコンパイルしてインストールする
  • AES_ENCRYPT() と AES_DECRYPT() を使用して MySQL を暗号化および復号化する正しい方法の例
  • MySQL で準備、実行、割り当て解除ステートメントを使用するチュートリアル
  • MySQL での PDO 操作の基本チュートリアル (推奨)

<<:  Tomcatのデフォルトプログラム公開パスの使用と変更についての説明

>>:  CocosCreator ユニバーサルフレームワークデザインネットワーク

推薦する

Mysql でサーバーの UUID を変更する方法

問題の原因:スレーブサーバーがクローンマスターサーバーである場合、server-uuidの値は同じで...

Vueはフォーム検証機能を実装します

この記事では主に、NUXT の validate メソッドに基づいてフォーム検証を実装する方法につい...

Mysql ファジークエリが大文字と小文字を区別するかどうかの詳細な調査

序文最近、私は小さな個人ブログ プロジェクトを書くのに忙しくしています。 「グローバル検索」機能を実...

CentOS 6 は Docker を使用して Zookeeper 操作例を展開します

この記事では、Docker を使用して Centos6 に Zookeeper をデプロイする方法に...

MySQL SELECT実行順序の簡単な理解

SELECT ステートメントの完全な構文は次のとおりです。 (7)選択 (8) DISTINCT ...

Vue px to rem 構成の詳細な説明

目次方法1 1. 構成とインストールの手順:方法2方法3要約する方法1 1. 構成とインストールの手...

Reactのコンテキストとプロパティの説明

目次1. 文脈1. 使用シナリオ2. 使用手順3. 結論2. 小道具の詳細1. 子供の財産2. 小道...

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明コード例: <se...

Windows で MySQL 5.6 を 5.7 にアップグレードする方法

前面に書かれたMySQL をアップグレードする方法には、インプレース アップグレードと論理アップグレ...

Linux ssh サービス情報と実行ステータスを表示する方法

Linux での ssh サービス構成など、ssh サーバー構成に関する記事は多数あります。ここでは...

MySQLのよくある間違い

NULL 値によると、MySQL の NULL 値は単にデータがないことを意味します。NULL 値は...

JavaScript関数導入の詳しい説明

目次機能紹介関数関数の作成コンストラクタは関数を作成する関数宣言は関数を作成する関数式関数を作成する...

WeChat ミニプログラム 宝くじ番号ジェネレーター

この記事では、WeChatアプレットの宝くじ番号ジェネレータの具体的なコードを参考までに紹介します。...

el-tree での不完全なテキスト表示の解決策

目次方法1: 水平スクロールバーを設定する最も簡単な方法方法2(新規):ドラッグバーを追加して外側の...