勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法

   2024/02/22  MySQL

データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCPUなどの性能は良く、またリソースも大分あまっている状態だった。また、データベースサーバへのメモリ割当量も多いという状況。

なのでサーバの性能云々よりもスレッド状況が気になった。以下で調べられる。

 

SQL文

SHOW [FULL] PROCESSLIST

FULLをつけるとSQL全文が、つけないと100文字までSQL文が表示される。

 

必要そうなカラム

Id

接続識別子。以下で強制終了する事が可能。

kill Id

Time

スレッドの経過時間。データベースサーバが重たくなっている時はここの数値が大きいものが原因の場合が多そう。

 - MySQL

  関連記事

mysqlで正規化できない時はシリアライズ使う

アンケートか何かに機能追加している際、配列を カンマ区切りで結合して文字列でDB ...

MySQLにてdatetime型のカラムを整形し「年月日のみ形式」または「秒のみ省いた形式」で表示する方法

MySQLにてdatetime型のカラムに登録日時等を格納しており、管理画面側で ...

MySQLでカラム内容によって条件分岐させたい場合の対応方法

MySQLでカラムの内容によって条件を分岐させたかった。またPHPで処理するので ...

MySQLでROW_NUMBER関数を使用してグループ毎に連番を設定する方法

以前にMySQLでオートインクリメントを使用せずにグループ毎に連番を設定する方法 ...

MySQLでユニークキーをはる

MySQLでseqとcodeみたいなものをあわせて ユニークキーをはりたかった。 ...