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

推薦する

JavaScript でカルーセル効果を実装する

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

MySQLデータベースを定期的に自動バックアップする方法

データは貴重なものであることは誰もが知っています。データをバックアップしなければ、データをそのまま放...

タブバーのいくつかの実装方法(推奨)

タブ: カテゴリ + 説明タグバー: カテゴリ => ユーザーに現在地と目的地を知らせる1. ...

docker version es、milvus、minio 起動コマンドの詳細な説明

1. es起動コマンド: docker run -itd -e TAKE_FILE_OWNERSHI...

canvas.toDataURL image/png エラー処理方法の推奨

問題の背景:再生中のビデオのスクリーンショットを撮る必要があります。ビデオはビデオタグを使用して再生...

角度に基づくツリー型セカンダリテーブルを実現する

まず効果を見てみましょう: コード: 1.html <div class="user...

デザイン理論:人間中心のグリーンデザイン

「人間中心」と「グリーンデザイン」という2つの視点から考える——デザイン業界の同僚とも議論する2つの...

Portainer を使用した Docker コンテナのデプロイのプロジェクト実践

目次1. 背景2. 操作手順3. Portinerをインストールする3.1 Dockerのデプロイメ...

CSSはメッセージパネルをスライドするWebコンポーネント機能を実装します

みなさんこんにちは。私と同じように混乱している方はいらっしゃいませんか。CSS は簡単に始められます...

Linuxプロセス通信におけるFIFOの実装

FIFO通信(先入れ先出し)関連のないプロセス間の通信を可能にする FIFO 名前付きパイプ。パイプ...

Nginx のパラメータをオンにして Web パフォーマンスを 3 倍向上させる方法

1. 遭遇したいくつかの問題2008 年にパフォーマンス テストを行っていたとき、パフォーマンス テ...

CentOS7にMariaDB 10.2.4をインストールする方法の詳細な説明

CentOS 6 以前のバージョンでは、MySQL サーバー/クライアント インストール パッケージ...

MySQL Community Server 圧縮パッケージのインストールと設定方法

今日は、MySQL をインストールしたかったので、公式 Web サイトにアクセスして、MySQL の...

Reactでのこのリファレンスの詳細な説明

目次原因:以下を実行します: 1. コンストラクター2.レンダリング機能3.bind関数とarrow...

MySQL DATEDIFF 関数を使用して 2 つの日付間の時間間隔を取得する方法

説明する2 つの日付間の時間間隔を返します。文法DateDiff(間隔、日付1、日付2 [、週の最初...