我有一个MSSQL2005数据库,其记录可以追溯到2004年,当前在一个特定表中只有不到1,000,000条记录。如果我运行的报告比较2009年的数据与2010年的数据,2008年比2009年,2009年比2009年或今年之前的任何年份的组合,然后结果在1-5秒内返回。当访问最近的记录时,SQL性能变慢
但是如果我运行包含2011年数据的报告,那么报告需要大约6分钟。
我检查了数据,它看起来与前几年相似,并与所有报告中使用的相同数据进行了交叉引用。
就好像数据库已经超出了一些限制;今年的数据已经变得分散,因此难以获取。我不是说这是事实,但可能是我所知道的。
任何人有任何建议吗?
Shaun。
更新:
由于张贴的问题,我发现DBCC DBREINDEX table_name的这似乎已经完成了帽子戏法。
您还需要提供** WAY **关于此的更多信息。什么是表结构?你正在运行什么查询?任何分区?正如马丁所说,你还需要检查执行计划。 – JNK 2011-05-24 10:53:33
也是相关表格上的两个执行计划和索引。 – EBarr 2011-05-24 10:56:25
如果没有表模式,存储过程,执行计划和其他相关信息,将无法帮助您。 – 2011-05-24 10:56:43