sp_updatestats
の使用法は何ですか?パフォーマンスを向上させるために運用環境で実行できますか?
sp_updatestats
は、1行でも変更されたデータベース内のすべてのテーブルのすべての統計を更新します。デフォルトのサンプルを使用して実行します。つまり、テーブル内のすべての行をスキャンするわけではないので、他の方法よりも統計の精度が低下する可能性があります。
「インデックスの再構築」を含むメンテナンスプランがある場合、統計も更新されますが、すべての行をスキャンするため、より正確になります。インデックスの再構築後に統計を再構築する必要はありません。
update statistics
コマンドを使用して特定の統計オブジェクトまたはテーブルを手動で更新すると、プロセスをより適切に制御できます。自動化するには、 こちら をご覧ください。
自動更新は、オプティマイザーが必要と判断した場合にのみ起動します。 2012年には数学に変更がありました。<2012年には、テーブル行が500 + 20%変化するたびに自動更新が実行されました。 2012+では、SQRT(1000 *テーブル行)です。これは、大きなテーブルでより頻繁に発生することを意味します。もちろん、一時テーブルの動作は異なります。
結論として、sp_updatestats
は実際には良いよりも多くのダメージを与える可能性があり、最も推奨されないオプションです。