2

レポート目的で必要な大規模なデータ セットであるクエリがあります。現在、MySQL ワークベンチに表示される実行時間であると想定している "duration" は約 7 秒なので、かなり最適化されています。わずか6000行が返されますが、「フェッチ」時間によると、それらを返すのに150秒近くかかります。

現在、50 を超える列があり、速度の一部を説明している可能性がありますが、データ セットをスプレッドシートに抽出すると、約 4MB であることがわかりました。私は確かに専門家ではありませんが、4MB がパイプを介して戻るのに 150 秒かかるとは思っていませんでした。ネットワークの問題を解消するために、ローカルホストのセットアップで同じクエリを実行しました。同じ結果!実行に約 7 秒、同じマシンでデータを返すのに 150 秒かかりました。

このレポートはオンデマンドでリアルタイムに実行されることが想定されているため、エンド ユーザーに 2 分間待たせることは、このユース ケースでは受け入れられません。MySQL からデータを返すのにかかる時間を改善するにはどうすればよいですか?

更新: 私を正しい方向に向け始めてくれてありがとう。結局のところ、ワークベンチの「期間」と「フェッチ」は恐ろしく不正確です。私が経験していた 2 分間はすべて実行時間であり、実際にはクエリを最適化する必要がありました。繰り返しますが、これは私の頭を悩ませていました。二度とこれらの指標に頼ることはありません...

4

0 に答える 0