MySQL の「データ送信」状態を理解する
MySQL の SHOW PROCESSLIST コマンドは、実行中のクエリの実行ステータスについての洞察を提供します。よく発生する状態の 1 つは「データ送信中」です。
「データ送信中」とは何を示していますか?
その名前が示すものとは異なり、「データ送信中」は排他的なものではありません。クエリ結果の転送を参照してください。代わりに、「データの読み取りとフィルタリング」フェーズとして知られる、クエリ実行サイクルのより広範な段階を表します。
読み取りフェーズの性質
この期間中フェーズでは、MySQL はさまざまなソースからのデータに積極的にアクセスして処理しています。これらのソースには、テーブル、インデックス、一時テーブル、または並べ替えられた出力が含まれます。実際のデータ送信が発生していない場合でも、MySQL は状態を「データ送信中」として報告します。
シナリオ例
100 万レコードとインデックスを持つテーブルを考えてみましょう。インデックスを使用せずに特定のレコードを取得するには、MySQL はテーブル全体をスキャンする必要があります。このプロセス中、必要なレコードが特定されるまで結果は送信されませんが、クエリは「データ送信中」としてマークされます。
MySQL 8.0.17 以降に関する追加メモ
MySQL バージョン 8.0.17 以降では、「データ送信中」状態が「実行中」状態に統合され、この状態を個別に示す必要がなくなりました。フェーズ。
以上がMySQL の「データ送信中」状態は実際には何を意味するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。