MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法
2024/02/22
データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCPUなどの性能は良く、またリソースも大分あまっている状態だった。また、データベースサーバへのメモリ割当量も多いという状況。
なのでサーバの性能云々よりもスレッド状況が気になった。以下で調べられる。
SQL文
SHOW [FULL] PROCESSLIST
FULLをつけるとSQL全文が、つけないと100文字までSQL文が表示される。
必要そうなカラム
Id
接続識別子。以下で強制終了する事が可能。
kill Id
Time
スレッドの経過時間。データベースサーバが重たくなっている時はここの数値が大きいものが原因の場合が多そう。
関連記事
-
-
MySQLにてSELECT時にdate型のカラムから干支(十二支)を計算し表示する方法
MySQLにdate型のカラムに誕生年月日が格納されており、そこから干支(十二支 ...
-
-
ON DUPLICATE KEY UPDATE後にinsert_idを取得すると結果が0になる
MySQLでON DUPLICATE KEY UPDATE句指定し、データの登録 ...
-
-
MySQLでtime型データからint型データの減算を行い、減算後のデータで条件検索する方法
MySQLでtime型データからint型データの減算を行い、減算後のデータを検索 ...
-
-
MySQLでLIKE検索時に大文字・小文字・半角・全角全て区別したい
以前にMySQLであいまい検索時に大文字小文字は区別しないが、それ以外は全て区別 ...
-
-
MySQLでサイズの大きいファイルをインポートする際の注意点
MySQLでサイズの大きい(3GBほどの)dumpファイルを異なるサーバに移行し ...