時間のかかる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 ユニバーサルフレームワークデザインネットワーク

推薦する

ウェブサイト上で flv/MP4 やその他のビデオ ファイルを再生できない問題は、MIME タイプに関連しています。

ウェブサイトを作成している際に、flv や MP4 形式などのビデオ ファイルはローカルでは正常に再...

WeChatアプレットは写真アップロード機能を実現

この記事の例では、WeChatアプレットで写真をアップロードするための具体的なコードを参考までに共有...

Windows 環境での MySQL 8.0 のインストール、設定、アンインストール

ソフトウェアバージョンウィンドウズ: ウィンドウズ10 MySQL: mysql-8.0.17-wi...

MySQL 8.0.18 安定版がリリースされました! 予想通りハッシュ結合が実装されました

MySQL 8.0.18 安定版 (GA) が昨日正式にリリースされ、Hash Join も期待通り...

回転灯効果を実現するWeChatアプレットの例

序文日常の開発では、テキストの水平スクロール効果(一般にカルーセルと呼ばれる)によく遭遇します。これ...

Vue の自動書式設定の改行保存の詳細な説明

ネットで変更方法をいろいろ調べたのですが、うまくいきませんでした。後で大物から見て削除しました。フォ...

CSSは親コンテナのdivをimg画像で埋め、コンテナのサイズに適応します。

ページに複数の画像を導入すると、画像のサイズがばらつくことがあります。しかし、それらを一貫したサイズ...

Facebook によるインターネット サービスのほぼ完璧な再設計

<br />出典: http://www.a-xuan.cn/?p=197 先ほどFac...

MySQL ルートパスワードをリセットする方法

目次1. ルートパスワードを忘れてしまい、データベースにアクセスできない: DBA にとって、スーパ...

MySQL でテーブルを削除する 3 つの方法 (要約)

ドロップテーブルドロップはテーブル情報を直接削除するため、最も高速ですが、データを取得することはでき...

Centos7でglibcをアップグレードするとシステム異常(起動できない)になる場合の解決方法

目次問題の原因:解決:解決:私は Centos7 を使用しています (理論的にはこの方法は Cent...

bash のスクリプトデバッグメカニズムの詳細な説明

スクリプトをデバッグモードで実行するbash -x <script> を使用すると、スク...

Linux ファイル記述子、ファイルポインタ、および inode の詳細

目次Linux - ファイル記述子、ファイルポインタ、インデックスノード1. Linux - ファイ...

JavaScriptページングコンポーネントの使い方の詳細な説明

ページネーションコンポーネントはWeb開発でよく使われるコンポーネントです。ページネーション機能を実...

Docker に MySQL と Redis をインストールする方法

この記事はCentOS 7.3システム環境をベースに、MySQLとRedisのインストールと使用につ...