当某个查询突然变慢,又找到不到原因,可以尝试用更新一下统计信息,尤其是在表进行过大批量的数据修改或者新增的时候。
更新表或索引视图的查询优化统计信息。 默认情况下,查询优化器已根据需要更新统计信息以改进查询计划;但在某些情况下,可以通过使用 UPDATE STATISTICS 或存储过程 sp_updatestats 来比默认更新更频繁地更新统计信息,提高查询性能。
更新统计信息可确保查询使用最新的统计信息进行编译。 不过,更新统计信息会导致查询重新编译。 我们建议不要太频繁地更新统计信息,因为需要在改进查询计划和重新编译查询所用时间之间权衡性能。 具体的折衷方案取决于你的应用程序。 UPDATE STATISTICS 可以使用 tempdb 对行样本进行排序以生成统计信息。
语法:
UPDATE STATISTICS table_or_indexed_view_name
参考链接:
https://docs.microsoft.com/zh-cn/sql/t-sql/statements/update-statistics-transact-sql?view=sql-server-ver15