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

推薦する

Vue でコミュニケーションを実装する 8 つの方法

目次1. コンポーネント通信1. Props 親コンポーネント ---> 子コンポーネント通信...

CSS3 transition-delay属性のデフォルト値が単位なしの0であり無効である問題を解決します

今日は、CSS3 の transition-delay 属性のデフォルト値 0 に単位がないのは無効...

ダイナミッククロックを実現するJS+CSS

この記事の例では、動的な時計を実装するためのJS + CSSの具体的なコードを参考までに共有していま...

CentOS 7.4 64 ビット版に MySQL 8.0 をインストールして設定するための詳細な手順

ステップ1: MySQL YUMソースを取得するMySQLの公式サイトにアクセスして、RPMパッケー...

HTML 基本コントロール入門_PowerNode Java アカデミー

<input> タグ<input> タグはユーザー情報を収集するために使用さ...

js 学習ノート: class、super、extends キーワード

目次序文1. es6の前にオブジェクトを作成する2. es6 後のクラス宣言3. クラスの継承4. ...

ウェブサイトをIE6、7、8、9の古いバージョンに対応させるための3つのソリューション

Microsoft は後からブラウザの研究開発に力を入れてきましたが、実際のところ、最新の IE ブ...

Linuxはバイナリモードを使用してmysqlをインストールします

この記事では、LinuxにバイナリモードでMySQLをインストールする具体的な手順を参考までに紹介し...

ZooKeeper をベースにした Hadoop 高可用性クラスタの構築のチュートリアル図

目次1. 高可用性の概要1.1 可用性の高い全体アーキテクチャ1.2 QJMに基づく共有ストレージシ...

Mysqlのprepare前処理の具体的な使用法

目次1. 前処理2. 前処理塗布方法A. 例: B. 実行計画の変更を追跡するための前処理C. スト...

Docker で Maven プロジェクトをより速くビルドする

目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....

【HTML要素】画像の埋め込み方法

img 要素を使用すると、HTML ドキュメントに画像を埋め込むことができます。画像を埋め込むには、...

携帯電話向けウェブページ作成のヒント

現在では多くの人がスマートフォンを使用していることを考慮すると、モバイル Web ページの書き方は、...

ボタンをクリックした後のCSS読み込み効果を実現する

自社製品にクリック後1~2秒待機時間があるボタン(確認メールを送信する)があるため、クリック後の1~...

Linux 環境の Apache で https サービスを有効にする方法の詳細な説明

この記事では、Linux 環境の Apache で https サービスを有効にする方法について説明...