MySQL が「データ送信中」の状態にある場合、それは何を意味しますか? 質問する

MySQL が「データ送信中」の状態にある場合、それは何を意味しますか? 質問する

Mysql クエリが次の場合、それは何を意味しますか:

SHOW PROCESSLIST;

状態列に「データを送信中」と表示されますか?

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

ありがとう。

ベストアンサー1

これはかなり誤解を招くステータスです。「データの読み取りとフィルタリング」と呼ぶべきです。

これは、MySQLまだ読み取られて送信されていないデータがディスク (またはメモリ) に保存されていることを意味します。テーブル自体、インデックス、一時テーブル、ソートされた出力などが考えられます。

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

MySQL 8.0.17以降: この状態はもはや別々に示されず、実行中州。

おすすめ記事