1. ホーム
  2. mysql

[解決済み] MySQLが「データ送信中」の状態になっているのはどういうことですか?

2022-03-04 20:48:19

質問

Mysqlのクエリで、"MySQL "と表示された場合、どのような意味があるのでしょうか。

SHOW PROCESSLIST;

は、Stateカラムに"Sending data"を返しますか?

クエリが実行され、MySQLがクライアントに「結果」データを送信していることを意味すると思いますが、なぜこれほど時間がかかるのか(最大1時間)不思議です。

ありがとうございました。

解決方法は?

これはかなり誤解を招きやすい状態です。これは、"reading and filtering data"と呼ばれるべきものです。

これは、次のことを意味します。 MySQL は、ディスク(またはメモリ)上に保存された、まだ読み込まれて送信されていない何らかのデータを持っています。それはテーブルそのものであったり、インデックスであったり、テンポラリテーブルであったり、ソートされた出力であったりします。

1Mレコードのテーブル(インデックスなし)があり、そのうちの1レコードだけが必要な場合。 MySQL は、まだ何も送信していないにもかかわらず、テーブルのスキャン中に "データ送信中" というステータスを出力します。

<ブロッククオート

MySQL 8.0.17 以降 : この状態は、個別に表示されなくなり 実行中 の状態です。