几个月前,我的 Asp.net 应用程序在对数据库执行简单的选择时给了我一个超时异常,其中包含特定的 where 值。
奇怪的是,如果没有 where 子句(或不同的值),select 会返回没有超时的结果。
通过在所有表中执行“UPDATE STATISTICS WITH FULLSCAN”解决了这个错误。
3个月后,再次出现超时错误,再次通过更新统计信息解决。
这个错误开始频繁发生,然后我开发了一个带有计时器的服务来自动执行更新。
使用更新统计的需要变成每月一次,每周一次,每天一次,每小时一次,现在每 15 分钟一次!
这不正常,对吧?避免此问题的最佳做法是什么?
数据库不小。实际大小几乎是 1 GB(当数据库大约 300 MB 时出现此问题)。