MySQL SHOW STATUSステートメントの使用

MySQL SHOW STATUSステートメントの使用

MySQL のパフォーマンス調整とサービス ステータスの監視を行うには、MySQL の現在の実行状態を知る必要があります。多くの開発者は、データベースとテーブルのシャーディング、読み取りと書き込みの分離、SQL パフォーマンス分析などに関する記事や分析をいくつか読んだことがあります。ただし、MySQL の実際の実行状態を考慮せずに盲目的に MySQL 構成の調整を行うことは、大まかで推定的なアプローチです。現在の実際の問題に対応してパフォーマンスを向上させるだけの場合もあれば、役に立たない場合もあります。したがって、テクノロジは実際の状況と理論を組み合わせる必要があり、机上で行うことはできません。

この記事はMySQLの公式ドキュメントを参照しています: server-status-variables

練習する

監視できる変数を表示する

SHOW [GLOBAL | SESSION] STATUSステートメントを使用して、グローバル/現在のセッションの目に見えるステータスインジケータを表示できます。

たとえば、使用可能な MySQL グローバル ステータス インジケーターを確認したいとします。

mysql> グローバルステータスを表示します。

+-----------------------------------+-------------+
| 変数名 | 値 |
+-----------------------------------+-------------+
| 中止されたクライアント | 0 |
| 中止された接続 | 0 |
| 受信バイト数 | 155372598 |
| 送信バイト数 | 1176560426 |
...
| 接続 | 30023 |
| 作成された_tmp_disk_tables | 0 |
| 作成された tmp ファイル | 3 |
| 作成された_tmp_tables | 2 |
...
| 作成されたスレッド | 217 |
| 実行中のスレッド | 88 |
| 稼働時間 | 1389872 |
+-----------------------------------+-------------+

現在の接続のみに関心がある場合は、 SHOW SESSION STATUS使用できます。

ステータス変数の統計情報を更新する場合は、 FLUSH STATUSコマンドを使用します。

多くのステータス変数は、FLUSH STATUS ステートメントによって 0 にリセットされます。

いくつかの重要な指標クエリ

上記で照会できる状態変数に基づいて、いくつかのデモンストレーション用にいくつかの変数を選択しました。

クエリ MySQL 実行時間:

mysql> 'uptime' のようなステータスを表示します。
+---------------+--------+
| 変数名 | 値 |
+---------------+--------+
| 稼働時間 | 398545 |
+---------------+--------+
セット内の1行(0.01秒)

MySQLで選択実行回数を照会する

mysql> 'com_select' のようなグローバル ステータスを表示します。
+---------------+-------+
| 変数名 | 値 |
+---------------+-------+
| Com_select | 19 |
+---------------+-------+
セット内の1行(0.01秒)

MySQL で挿入実行回数を照会する

mysql> 'com_insert' のようなステータスを表示します。
+---------------+-------+
| 変数名 | 値 |
+---------------+-------+
| Com_挿入 | 0 |
+---------------+-------+
セット内の 1 行 (0.00 秒)

MySQLで更新実行回数を照会する

mysql> 'com_update' のようなステータスを表示します。
+---------------+-------+
| 変数名 | 値 |
+---------------+-------+
| Com_update | 0 |
+---------------+-------+
セット内の 1 行 (0.00 秒)

MySQLで削除実行回数を照会する

mysql> 'com_delete' のようなステータスを表示します。
+---------------+-------+
| 変数名 | 値 |
+---------------+-------+
| Com_delete | 0 |
+---------------+-------+
セット内の 1 行 (0.00 秒)

上記の CRUD カウントは、実際の MySQL パフォーマンス最適化の基礎として直接使用できます。たとえば、読み取りと書き込みの比率に応じてメモリ割り当て戦略を調整できます。

クエリ接続時間

mysql> 'connections' のようなステータスを表示します。
+---------------+-------+
| 変数名 | 値 |
+---------------+-------+
| 接続 | 286 |
+---------------+-------+
セット内の 1 行 (0.00 秒)

遅いクエリの数を照会する

mysql> 'slow_queries' のようなステータスを表示します。
+---------------+-------+
| 変数名 | 値 |
+---------------+-------+
| 遅いクエリ | 0 |
+---------------+-------+
セット内の 1 行 (0.00 秒)

クエリの遅いクエリ時間(デフォルトは10秒)

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

実際には、多くの指標があります。実際の問題に遭遇したときに、それらをターゲットにしてクエリし、これらのデータに基づいて MySQL パラメータを調整できます。

上記はMySQL SHOW STATUSステートメントの使用に関する詳細な内容です。MySQL SHOW STATUSの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQLのよくある間違い
  • MySQLクエリキャッシュに関するヒント
  • MySQLテクノロジーにおけるInnoDBロックの詳細な説明
  • MySQL マスタースレーブ同期、トランザクションロールバックの実装原理
  • MySQL MHA のセットアップと切り替えに関するいくつかのエラー ログの概要
  • mysql indexof関数の使用手順

<<:  フォーム入力ボックスに関するWebデザインのヒント

>>:  Vue ソースコード学習でレスポンシブ性を実装する方法

推薦する

MySQLインデックスが失敗するいくつかの状況の詳細な分析

1. 先頭のあいまいクエリではインデックスを使用できません (「%XX」や「%XX%」など)コード値...

Centos7 システムでの python2 と python3 の共存

最初のステップは、Python のバージョン番号とインストール パスを確認することです。 上記のビュ...

ウェブページ制作時のコードコメントの書き方

<br />私の仕事で使用しているアノテーションの書き方の基準をまとめました。技術的な内...

Linux で Bash 環境変数を設定する方法

Shell は C 言語で書かれたプログラムであり、ユーザーが Linux を使用するための橋渡しと...

JavaScript プリミティブデータ型シンボルの詳細な説明

目次導入説明名前の競合私有財産要約する導入シンボル変数を作成する最も簡単な方法は、Symbol() ...

Vueはmockjsを使用してシミュレートされたデータケースの詳細を生成します

目次プロジェクトにmockjsをインストールするVueプロジェクトでmockjsを使用する基本的なプ...

メタタグを簡単に説明すると

META タグは、一般的に タグと呼ばれ、HTML Web ページのソース コード内の重要な HTM...

非常に便利な CSS 開発ツール 8 つを紹介

CSS3 パターン ギャラリーこの CSS3 パターン ライブラリには、純粋な CSS3 を使用して...

MySQL マルチテーブルクエリの具体例

1. SELECT句を使用して複数のテーブルをクエリするSELECT フィールド名 FROM tab...

Vue2.0でデータの双方向バインディング機能をjsを使って実装する

Object.definePropertyの理解文法:オブジェクト.defineProperty(o...

xHTML タグと HTML タグの違いは何ですか?

すべてのタグは小文字でなければなりませんXHTML では、すべてのタグは小文字でなければなりません。...

基礎知識: ウェブサイトのアドレスの前の http はどういう意味ですか?

HTTPとは何ですか?ウェブサイトを閲覧したいときは、ブラウザのアドレス バーにウェブサイトのアド...

MySQLクエリプランでken_lenの値を計算する方法

key_lenの意味MySQL では、次に示すように、explain を使用して SQL ステートメ...

Linux DHCPサービスの詳細な説明

目次1. DHCP サービス (動的ホスト構成プロトコル) 1. 背景2. 概要3. 利点4.DHC...