時間のかかる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 で結果を選択して更新を実行する例のチュートリアル

1. 単一テーブルクエリ -> 更新 テーブル名の更新 フィールド1=新しい値1、フィールド2...

Linux での感嘆符コマンド (!) の使用の概要

序文最近、弊社では mbp の設定をしており、ssh を使うことが多くなりました。複雑なコマンドを書...

統計量に対するmySql SQLクエリ操作

余計なことは言わないで、コードだけ見てみましょう〜 プロジェクト番号を選択、 sum(case wh...

mysql 3つのテーブルを接続してビューを作成する

3 つのテーブルが接続されています。テーブル A のフィールド a はテーブル B のフィールド b...

CSS3+JavaScript を使用したクールな呼吸効果のサンプル コード

CSS3 アニメーションで実現したシンプルでクールな効果。最終的な効果は次のようになります。 ページ...

MySQL 5.7 生成列の使用例の分析

この記事では、例を使用して、MySQL 5.7 で生成された列の使用方法を説明します。ご参考までに、...

VMware に Linux システム (Redhat8) と仮想マシンのネットワーク構成をインストールする方法

目次1. VMwareをインストールする1.1 VMwareworkstationsをダウンロードし...

CentOS 7 パスワードを忘れた場合の解決プロセス図

必要Windows システムでも Linux システムでも、さまざまな理由でパスワードを忘れてしまう...

vue フロントエンド HbuliderEslint リアルタイム検証 自動修復設定

目次HBuilderX での ESLint プラグインのインストールカスタム eslint-js ル...

JavaScript の遅延読み込み属性パターンを理解する

従来、開発者はインスタンスで必要になる可能性のあるデータに対して JavaScript クラス内にプ...

Linuxはlsofコマンドを使用してファイルのオープンステータスを確認します

序文Linux では「すべてがファイル」であることは誰もが知っているので、ファイルのオープン状態を確...

MySQL 5.7.24 のインストールと設定のグラフィックチュートリアル

この記事では、MySQL 5.7.24のインストールと設定のチュートリアルを参考までに紹介します。具...

Dockerの一般的なコマンドとヒントのまとめ

インストールスクリプトUbuntu / CentOS Debian のインストールに問題があるようで...

MySQLのトランザクション管理操作の詳細な説明

この記事では、MySQL のトランザクション管理操作について説明します。ご参考までに、詳細は以下の通...