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 ソースコード学習でレスポンシブ性を実装する方法

推薦する

jsは徐々に増加するデジタルアニメーションを実現します

目次背景コンテナを固定し、数字を上にスクロールすることで、スクロールホイールと同様の効果を実現します...

React-Native環境のセットアップと基本的な紹介

環境の準備1. 環境構築React Native 中国語ウェブサイト2. 開発ツール フロントエンド...

HTML ページに SVG を挿入する複数の方法

SVG (Scalable Vector Graphics)は、XML 構文に基づいた画像形式です。...

CSSアニメーションを途中で止めて姿勢を維持する方法

序文かつて、難しい問題に遭遇しました。タワークレーンからスイングハウスを落下させる必要がありましたが...

最新の人気スクリプトAutojsソースコード共有

今日は、最新の人気スクリプト 50 個を含むソース コードを共有します。現在、Mine Guard ...

メタ宣言注釈の手順

メタ宣言注釈の手順: 1. モバイル ページと 1 対 1 で対応するすべての PC ページを分類し...

CSS のマージンの崩壊問題を解決する方法

まず、マージン崩壊が発生する 3 つの状況を見てみましょう。 1. 隣接する 2 つのブロックレベル...

jQueryはフォーム検証を実装する

jQueryを使用してフォーム検証を実装します。参考までに、具体的な内容は次のとおりです。登録.ht...

Vue 初心者ガイド: 環境の構築と開始方法

目次初期ビューVue開発環境の構築Vueインスタンスの作成Vue テンプレート構文Vue データバイ...

MyCat を使用して Linux で MySQL マスター/スレーブの読み取り/書き込み分離を実装する方法

目次Linux - MyCat を使用して MySQL マスター スレーブの読み取り書き込み分離を実...

Dockerボリュームコンテナ間のデータ共有の実装

ボリュームとは何ですか?ボリュームは英語で容量を意味し、Docker ではデータ ボリューム、つまり...

jsはショッピングカートの加算と減算、価格計算を実装します

この記事の例では、ショッピングカートの加算と減算、価格計算を実装するためのjsの具体的なコードを共有...

特殊効果メッセージボックスを実現するネイティブJS

この記事では、ネイティブ JS で実装された特殊効果メッセージ ボックスを紹介します。効果は次のとお...

Win10 の Linux サブシステムを有効にする方法を説明します (詳細な画像とテキスト付き)

今日は、Windows 10 で Linux サブシステムを有効にする方法を紹介します。早速、手順を...

JavaScript スコープチェーンの基本原理のグラフィカルな説明

目次序文範囲1. スコープとは何ですか? 2. [[スコープ]] プロパティ3. スコープチェーン4...