約 200,000,000 行で 15 日分のデータを含むパーティション分割されたテーブルがあります。(16 日目は削除され、0 日目は毎朝作成されます。)
多くの場合、テーブルは非常に高速ですが、非常に遅い場合もあります。問題/ボトルネックを発見するためのヒントがあるかどうか疑問に思っています.
テーブルは「日」のリストによって分割され (「エポックの日」整数を使用; 今日 =~ 15100 )、別の重要な ID である線形キーによってサブ分割されます。day と id の両方が正しい順序で主キーの一部を構成し、クエリで使用されます。
典型的なクエリでは、360 個のパーティションのうち 6 個のみを (プルーニングによって) 使用する場合があります。
私が困惑したのは、1 秒あたり最大 350 以上のクエリで実行されることが多い一方で、同じクエリで 2 qps まで遅くなることがあり、100 クエリをプルするのに数分かかることです。
MySQL を完全に再起動しても、2 つの同様のクエリ間の任意の速度の違いには影響しないようです。この問題は、ディスク IO とディスク キャッシングに関連していると思われます。
質問は本当にです。どこから探し始めますか?MySQL、ボニー++? ..
ありがとう!