最近在调整基础信息数据时,新增了几个客户类型,意想不到的事情发生了,在使用新增的客户类型作为
查询条件查询报表时,居然出现了超时的现象,但是用其他以前的客户类型查询就没有问题,用一个以前增加的
客户类型和新增的4个客户类型一起混合查询也没有问题,很快就查询到了数据。
于是我们使用SQL Profiler将对应的脚步抓出来在管理器中直接执行也是很慢,半小时都没有结果,系统当
然会超时了啊。我有查询了下客户类型表,发现客户类型表也没有索引,而且也只有不到20条记录,我本次也就
新增了4条记录。
突然我想到了前段时间做SQL Server性能优化培训时,讲过数据库表的统计信息的问题,需要更新表的统计
信息。因为统计信息一般不会实时更新的,根据微软的算法只有更新记录到达一定的比例才会更新。于是我觉得手
动更新下客户类型表的统计信息,果然在测试版验证后证明我的推测是正确的。
SQL脚本如下:
update
STATISTICS dbo.t_CustomerChannel
STATISTICS dbo.t_CustomerChannel
于是我们接着在正式版进行了执行,果然OK了。