2

ベンチマークしようとしている複雑なクエリがいくつかあります。1 つの製品ボックスで、クエリ プランナーが更新されていないことが判明しました。これが、パフォーマンスの低下の原因である可能性があります (MyISAM テーブル)。明確にするために、テーブルのすべてのインデックスが NULL カーディナリティで表示されています。

もちろん、運用ボックスで ANALYZE TABLE を実行する必要がありますが、その前に、開発環境でクエリのパフォーマンスを何らかの方法でベンチマークしたいと考えています。私の開発環境では、テーブルに適切で使用可能なインデックスが表示されます。したい..テーブルを「UNANALYZE」して、本番環境にある壊れたインデックスのパフォーマンスと、適切なインデックスで期待されるパフォーマンスを比較できるようにします。インデックスを削除するだけで同じ結果が得られますか、それとも統計をフラッシュするためのより良い方法はありますか?

ところで、NULL カーディナリティは明らかな問題であり、簡単に修正できることを認識しています。ただし、これがパフォーマンスにどの程度悪影響を及ぼしているかを定量化したいと思います。あなたが知っている.. 科学のために!

4

1 に答える 1

0

私の知る限り、できませんでしたが、SQL ステートメントで FORCE_INDEX() 句を使用して不適切なインデックスの使用を強制すると、MySQL はテーブル スキャンにフォールバックします;)

于 2012-08-30T02:20:32.177 に答える