テーブルにインデックスを追加すると、検索に明らかな利点がありますが、インデックスを更新する必要があるため、insert/update/delete ステートメントに関連するコストもあります。
テーブルに新しい統計を作成すると、インデックスと同様のコストが発生しますか?
テーブルにインデックスを追加すると、検索に明らかな利点がありますが、インデックスを更新する必要があるため、insert/update/delete ステートメントに関連するコストもあります。
テーブルに新しい統計を作成すると、インデックスと同様のコストが発生しますか?
クエリのデータを見つけるために使用されている統計はすべて、それらが最新であるかどうかを確認するためにチェックされます。それらが (無作為のサンプルに基づいて) 最新でない場合、SQL はそれらを更新します。それらが最新でない場合、統計が更新されるのを待つ間、クエリのパフォーマンスが低下します。
私が見つけたものから、統計を非同期的に自動更新統計に設定できます。これにより、現在のクエリに古い統計が使用されますが、次回のためにバックグラウンドで統計を更新するように SQL に指示します。これにより、大量のデータが変更された場合、現在のクエリのパフォーマンスが低下する可能性があります。
主なソース: MSDN