2011-06-17 25 views
0

1日あたり100kの行を追加するテーブルがいくつかあります。いくつかの統計情報は更新されますが、それらのすべてではありません。 50以上の統計情報がリストされているようです。数日前に更新されましたが、3ヶ月前からではありませんでした。これらを更新する必要がありますか?なぜ彼らは更新されませんでしたか?SQLテーブルの統計情報、どの統計情報を更新するかを決定する方法は?

答えて

0

すべての自動作成/自動更新がオンになっている限り、SQLオプティマイザが統計を更新しない理由は、最適なクエリプランの生成に不必要であると考えられるためです。順番に

これはあなたのテーブルの標準的な使用法は、多くの場合、クエリでそれらを活用していないため、おそらくある(すなわちwhere句、比較、結合、など)

手動で統計を更新することができ

が、もしSQLのISNあなたの通常の活動の中でそれらを最新の状態に保っていないと、改善が見られないでしょう。 (Auto Updateがオンの場合)

フリップで...歴史的にあまり頻繁に使用されていなかったカラムでクエリを実行すると、オプティマイザはおそらくそれを気にして目をつづけるでしょうその上に。

[自動更新]に戻ってください。オフの場合は、あなた自身の領域になります。また、誰かが手動で多数の統計を作成した場合、クエリを最適化していない限り、これらのクエリはSQLによって更新されません。

This Books Online article is an excellent source of information.

+0

BOLの記事へのリンクを編集しました。一番下に行くとベストプラクティスになり、アップデートを引き起こすものについての議論が行われます。 BOLのものの中にはそういうものもあるので、この記事は素晴らしいと思います。 – RThomas

関連する問題