MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法
2024/02/22
データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCPUなどの性能は良く、またリソースも大分あまっている状態だった。また、データベースサーバへのメモリ割当量も多いという状況。
なのでサーバの性能云々よりもスレッド状況が気になった。以下で調べられる。
SQL文
SHOW [FULL] PROCESSLIST
FULLをつけるとSQL全文が、つけないと100文字までSQL文が表示される。
必要そうなカラム
Id
接続識別子。以下で強制終了する事が可能。
kill Id
Time
スレッドの経過時間。データベースサーバが重たくなっている時はここの数値が大きいものが原因の場合が多そう。
関連記事
-
MySQLで全文検索(フルテキストインデックス)を使用する方法
普段利用しているサイトに検索用のテキストボックスがあり、そこに何らかのワードを入 ...
-
MySQLのクエリキャッシュの設定方法
MySQLでのクエリキャッシュ設定及び設定項目について以下にメモ。 ...
-
MySQLにてdatetime型のカラムを整形し「年月日のみ形式」または「秒のみ省いた形式」で表示する方法
MySQLにてdatetime型のカラムに登録日時等を格納しており、管理画面側で ...
-
MySQLのトリガーを使用して特定のテーブルの操作を行った際に別テーブルにログを残す方法
MySQLにトリガーという機能があるらしくどのようなものか調べたところ、事前に「 ...
-
MySQLでカラム数の異なるテーブルを結合する(UNION)
MySQLでカラム数の異なるテーブル同士をUNIONで結合させたかった。ただ、何 ...