2011-08-01 18 views
3

1分に1回、複数のテーブル(結合あり)で実行されるクエリがあります。最大のテーブルは、約18ヶ月間使用された後に3,100万行を持っています。 一般的に、クエリーは高速です(< 1秒)。ただし、数か月以上の時間を要する場合(日時フィールドの降順、グループ別、トップ1順)に戻ってから20秒以内に戻る必要がある場合を除きます。パーティショニングはクエリのパフォーマンスを低下させますか?

私はパーティションを調べ始めました。今では、パーティション化がクエリのパフォーマンスを向上させるのではなく、パフォーマンスを低下させることを2回読みましたが、同じ人物(herehere)で2回でした。これは正しいです?

答えて

2

パーティション化が行われても、必ずしもクエリのパフォーマンスが低下するとは限りません。

parameter sniffingによって引き起こされているようなサウンドが説明されています。あなたのインデックスと統計は最新ですか?

更新(コメントに対する回答):定期的なインデックスメンテナンスタスクがスケジュールされていることを確認してください。

+0

何らかの理由で、インデックスの断片化が再びほぼ100%になります。クエリテストを開始する前に、すべてのインデックスを再構築しました。最初にそれを修正します。 – Stijn

+0

パフォーマンスが低下する問題を回避する方法を見つけました(マシンごとに最後に利用可能な日時の値を保持し、where句で使用します)。私は実際に元の質問に答えるので、あなたの答えを受け入れます。 – Stijn

関連する問題