MySql のスロークエリ分析とスロークエリログの開き方の詳細説明

MySql のスロークエリ分析とスロークエリログの開き方の詳細説明

最近はMySQLのパフォーマンス最適化についても研究しているので、今日の投稿は勉強ノートとしても使えます。

パートナーが開発したプロジェクトでは、MySQL のトラブルシューティングやパフォーマンスのボトルネックの検出時に最も簡単に見つけて解決できる問題は、MYSQL でのクエリの遅さとインデックスのないクエリです。

次に、MySQL バージョン 5.0 以降でスロー クエリ ログを有効にする方法を説明します。

さて、MySQL で実行するのが「快適」ではない SQL ステートメントを見つけ始めましょう。

まず、mysql コマンドを使用して mysql コマンドラインを入力します。

[root@yunuo_vm ~]# mysql -u root -p
パスワードを入力してください:
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは4977です
サーバーバージョン: 5.6.17 ソース配布
 
Copyright (c) 2000, 2014, Oracle およびその関連会社。無断複写・転載を禁じます。
 
OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。
 
ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。
 
マイSQL>

ps: ここでのMySQLのバージョンは5.6.17です

さて、コンソールに入りました。次に、デフォルトの MySQL 構成で遅いクエリと見なされるまでに何秒かかるかを確認しましょう。

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

上記の表に示すように、システムのデフォルトのスロークエリの時間制限は 10 秒です。これを 1 秒に変更してみましょう (実際の状況に応じて設定することもできます)。

mysql> set long_query_time=1; 注: これを 1 に設定しました。これは、実行に 1 秒以上かかるクエリは遅いクエリとみなされることを意味します。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

おお!最後に、MySQL でスロー クエリ ログが有効になっているかどうかを確認します。

mysql> 'slow%' のような変数を表示します。
+---------------------+---------------+
| 変数名 | 値 |
+---------------------+---------------+
| 遅い起動時間 | 2 | 
| slow_query_log | オフ |
| slow_query_log_file | /tmp/slow.log |
+---------------------+---------------+

追伸:

slow_query_log //ログを開くかどうか

slow_query_log_file //ログの保存場所

MySQL はデフォルトではスロークエリを有効にしません。有効にしてみましょう:

mysql> グローバル slow_query_log を 'ON' に設定します。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

それでおしまい! ! !簡単じゃないですか?

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

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

<<:  Ubuntu で G++ を使用して CPP ファイルをコンパイルする

>>:  CentOS 7.5 に Python 3.6.6 を最初からインストールするための詳細なチュートリアル

推薦する

CSSタグの表示モードの詳細な説明

ラベル表示モード(重要) divタグとspanタグ1. スタイルはまったく同じですが、ラベルが異なり...

オーディオマニアにアピールするオーディオビジュアルLinuxディストリビューション

私は最近、多くの音楽に特化した Linux ディストリビューションの 1 つである Audiovis...

Linux ターミナルでドメイン IP アドレスを見つけるコマンド (5 つの方法)

このチュートリアルでは、Linux ターミナルでドメイン名またはコンピューター名の IP アドレスを...

ミニプログラムの基本的な使用方法の知識ポイント(非常に包括的で、お勧めです!)

目次アプリを登録するときに何をすればよいですか?ページを登録するときに通常何をする必要がありますか?...

Ubuntu で VIM を C++ 開発エディタとして設定する

1. 設定ファイルをユーザー環境にコピーし、新しい.vimフォルダを作成し、バンドルサブフォルダを作...

Ubuntu 18.04 に Nvidia グラフィック カード ドライバーをインストールするチュートリアル (画像とテキスト付き)

0. 事前準備BIOS でセキュア ブートを無効にします。無効にしないと、サードパーティ ソースを...

Reactの新バージョンのライフサイクルフック機能と使用方法の詳細な説明

旧ライフサイクルと比較して 3つのフックが廃止され、2つの新しいフックが追加されましたReact16...

vuex データの永続化のための 2 つの実装ソリューション

目次ビジネス要件:解決策 1: vuex-persistedstate解決策2: vuex-pers...

Vueカスタムディレクティブの詳細

目次1. 背景2. ローカルカスタム指示3. グローバルカスタム指示4.1 カスタムコマンドフック関...

vue3+vite プロジェクトで svg を使用する方法の詳細なグラフィック説明

今日、vue3+viteプロジェクトの実践で、svgを使用する場合、以前の記述方法が使用できないこと...

ウェブページの広告デザインにおけるウェブデザインの寸法とルール

1. 800*600 未満の場合、Web ページの幅が 778 以内であれば、水平スクロール バーは...

HTTP 戻りコード一覧(中国語と英語の説明)

httpリターンコードリスト(以下は概要です)詳細な中国語の説明についてはここをクリックしてくださ...

JavaScript 関数呼び出し、適用、バインド メソッドのケース スタディ

要約する1. 類似点どちらも、ターゲット関数が実行されると内部の this ポインターを変更できます...

マインスイーパゲームを実装するための jQuery プラグイン (3)

この記事では、jQueryプラグインを使用してマインスイーパゲームを実装する方法に関する3番目の記事...

Vueフレームワークで習得しなければならない重要な知識を学びます

1. Vueとは何かVue は、ユーザー ページを構築するためのプログレッシブ フレームワークです。...