我的一个问题涉及到执行缓慢的查询,让我了解到了sp_updatestats()
函数。我想采取主动措施定期调用它,而不是等待我的查询在工作时间随机开始超时。我考虑每晚在午夜运行它。我的问题是:
有没有有用的方法确定何时应该调用此过程,而不是每晚盲目运行它?文档说SQL Server会自动更新这些统计信息。但更新频率是多少?我如何知道何时需要介入并手动执行它?
在运行此过程时,数据库是否会锁定?它似乎需要四到五分钟才能完成。在此期间,数据库是否可访问或将尝试的查询被阻止?我的测试表明我仍然可以运行查询,但我不确定这只是因为我很幸运,在那个精确的时刻查询未计算统计信息的表。