MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで実行中のすべてのクエリを一覧表示するにはどうすればよいですか?

MySQLで実行中のクエリを一覧表示する方法

MySQLで現在実行中のクエリや接続プロセスを一覧表示するには、SHOW PROCESSLIST コマンドを使用します。このコマンドにより、サーバー上で動作しているすべてのスレッドの状態を確認できます。

基本構文

以下のコマンドを実行します。

mysql> SHOW processlist;

実行結果の例

上記コマンドの出力例は以下のとおりです。

+----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+
| Id | User            | Host            | db       | Command | Time  | State                  | Info             |
+----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+
|  4 | event_scheduler | localhost       | NULL     | Daemon  | 13785 | Waiting on empty queue | NULL             |
|  9 | root            | localhost:63587 | business | Query   |     0 | starting               | show processlist |
+----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+
2 rows in set (0.00 sec)

結果を縦方向に見やすく表示する

カラム数が多く横表示では読みにくい場合は、\G を付けて SHOW FULL PROCESSLIST を実行すると、1行ずつ縦方向に整形されて表示されます。

mysql> SHOW FULL PROCESSLIST\G;

出力例は以下のとおりです。

*************************** 1. row ***************************
     Id: 4
   User: event_scheduler
   Host: localhost
     db: NULL
Command: Daemon
   Time: 17385
  State: Waiting on empty queue
   Info: NULL
*************************** 2. row ***************************
     Id: 9
   User: root
   Host: localhost:63587
     db: business
Command: Query
   Time: 0
  State: starting
   Info: SHOW FULL PROCESSLIST
2 rows in set (0.00 sec)

各カラムの意味

  • Id: 接続ごとに割り当てられるスレッドID
  • User: 接続しているユーザー名
  • Host: 接続元のホスト名とポート番号
  • db: 使用中のデータベース(未選択の場合はNULL)
  • Command: 実行中のコマンドの種類(Query、Sleep、Daemonなど)
  • Time: 現在の状態が継続している秒数
  • State: スレッドの現在の状態
  • Info: 実行中のSQL文(該当なしの場合はNULL)

補足:FULL オプションの違い

FULL を付けない SHOW PROCESSLIST では、InfoカラムのSQL文が先頭100文字で切り詰められます。長いクエリ全体を確認したい場合は SHOW FULL PROCESSLIST を使用しましょう。また、information_schema.PROCESSLIST テーブルに対してSELECT文を実行することでも、同様の情報を柔軟に取得できます。

  1. C#でディレクトリ内のすべてのファイルを一覧表示する方法

    C#で特定のディレクトリに存在するすべてのファイルを一覧表示するには、System.IO名前空間のDirectoryInfoクラスとFileInfoクラスを使用します。ここでは、その基本的な手順をサンプルコードとともに解説します。1. DirectoryInfoオブジェクトの作成まず、対象となるディレクトリのパスを指定して、DirectoryInfoオブジェクトを作成します。パスの先頭に「@」を付けることで、エスケープシーケンスを無効化した逐語的文字列リテラルとして扱えます。// DirectoryInfoオブジェクトの作成 DirectoryInfo mydir = new Director

  2. Pythonでファイルをアルファベット順に一覧表示する方法【os.listdirとsortedの使い方】

    Pythonですべてのファイル名をアルファベット順に取得する方法 Pythonでは、os.listdir関数を使うことで、指定したディレクトリ内のファイルやフォルダの一覧を簡単に取得できます。さらに、組み込み関数であるsortedを組み合わせれば、取得したリストをアルファベット順(昇順)にソートすることが可能です。 基本的な手順 まずos.listdirでディレクトリの中身をリストとして取得し、その後sorted関数に渡して並べ替えます。以下が実際のコード例です。 >>> import os >>> list_dir = os.listdir(.) >