我们有一个相当复杂的MS SQL查询,涉及到多个表的连接。它的目的是搜索特定类型的实体。我们最近花了一些时间对其进行优化,并设置了正确的索引。
但是在某些时候(没有注意到任何规则,因此似乎是任意的),当使用此查询时,Web应用程序开始超时。然后我们可以进入数据库并重建SQL中包含的2个表的索引,然后它就恢复正常了……这种情况偶尔发生。
现在请原谅我的无知,MSSQL是否应该在最佳时间自动重建索引? 否则,我们需要安排索引维护运行一次,一旦达到一定的碎片程度? 请随意忽略我的问题,并指导我朝正确的方向前进。
提前感谢。
但是在某些时候(没有注意到任何规则,因此似乎是任意的),当使用此查询时,Web应用程序开始超时。然后我们可以进入数据库并重建SQL中包含的2个表的索引,然后它就恢复正常了……这种情况偶尔发生。
现在请原谅我的无知,MSSQL是否应该在最佳时间自动重建索引? 否则,我们需要安排索引维护运行一次,一旦达到一定的碎片程度? 请随意忽略我的问题,并指导我朝正确的方向前进。
提前感谢。
UPDATE STATISTICS mytable
。或者还有其他方法来分析表的统计数据是否失效,比如查看日志吗? - undefined