勉強したことのメモ

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

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

   2024/02/22  MySQL / MariaDB

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

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

 

SQL文

SHOW [FULL] PROCESSLIST

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

 

必要そうなカラム

Id

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

kill Id

Time

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

 - MySQL / MariaDB

  関連記事

MySQLでdatetime型データの〇日後を取得する方法(DATEDIFF)
MySQLでdatetime型データの〇日後を取得する方法(DATEDIFF)

MySQLでdatetime型データがあり、何日経過しているかを取得し、〇日経過 ...

MySQLでdatetime型のカラムから秒は省いて検索する方法
MySQLでdatetime型のカラムから秒は省いて検索する方法

MySQLでdatetime型のカラムに対して「2022-10-07 10:30 ...

MySQLで特定のテーブルにパーティショニング設定し高速化を図る方法
MySQLで特定のテーブルにパーティショニング設定し高速化を図る方法

以前に他社が設計されたログ系のテーブルを拝見した際にパーティショニング設定が行わ ...

MySQLのtinyintのカラムにbool値を入れた場合
MySQLのtinyintのカラムにbool値を入れた場合

他所のシステムに携わることがあり中身を色々見ているとMySQLでtinyint( ...

MySQLに保存したデータをJSON形式で取得する方法
MySQLに保存したデータをJSON形式で取得する方法

MySQLに保存したデータをJSON形式で利用したいということがたまにある(Ja ...