私の質問は次のとおりです。
シェル MySql で同じクエリを 2 回実行すると、2 つの非常に異なる応答時間が得られるのはなぜですか (つまり、
1 回目と 2 回目はかなり短い時間です)?
これが起こらないようにするにはどうすればよいですか??
事前にどうもありがとうございました
私の質問は次のとおりです。
シェル MySql で同じクエリを 2 回実行すると、2 つの非常に異なる応答時間が得られるのはなぜですか (つまり、
1 回目と 2 回目はかなり短い時間です)?
これが起こらないようにするにはどうすればよいですか??
事前にどうもありがとうございました
これは、クエリや結果のキャッシュに起因する可能性が最も高いです。クエリを 1 回実行すると、MySQL はそのクエリのコンパイル済みバージョンを格納し、それらの特定のテーブルのインデックスもメモリに格納するため、後続のクエリは元のクエリよりも大幅に高速になります。
これは、1. クエリ キャッシングがオンになっている、または 2. クエリが実行されているシステムのパフォーマンス状態の違いが原因である可能性があります。
クエリ キャッシングでは、一度クエリを実行すると、mysql はコンパイルされたバージョンのクエリを格納し、再度呼び出されたときにフェッチされます。同じクエリを繰り返し実行する場合、コンパイルの時間はありません。クエリのキャッシュをオフにすることはできますが、お勧めできません