MySQL の「データ送信」状態を理解する
「SHOW PROCESSLIST」コマンドは、MySQL で実行中のプロセスの現在の状態を明らかにします。このコマンドが特定のクエリの状態列に「データ送信中」を返した場合、MySQL が結果をクライアントに送信中であることを示します。ただし、このステータスは誤解を招く可能性があることに注意してください。
想像に反して、「データの送信中」は、クエリが実行され、データがクライアントにアクティブに送信されていることを必ずしも意味するわけではありません。 。実際には、この状態は MySQL がまだデータの読み取りとフィルタリングの処理中であることを示しています。このデータはディスク上やメモリ上にある可能性があり、並べ替えや一時テーブルの作成が必要な場合もあります。
このプロセスに長時間 (最大 1 時間) かかるという事実は、さまざまな要因が原因である可能性があります。大量のデータが処理されているか、パフォーマンスの最適化が不十分であるなど。 MySQL はまだクライアントにデータを送信していないにもかかわらず、データのスキャン中に「データ送信中」ステータスを表示することがあります。
MySQL 8.0.17 以降では、「データ送信中」状態が表示されます。は「実行中」状態に組み込まれ、個別に示されなくなりました。この変更は、進行中のプロセスをより正確に表現することを目的としています。
以上がMySQL における「データ送信中」状態は実際には何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。