加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

访问最新记录时SQL性能变慢

发布时间:2021-02-27 12:37:25 所属栏目:MsSql教程 来源:网络整理
导读:我有一个MSSQL2005数据库,其记录可以追溯到2004年,目前在一个特定的表中只有不到1,000,000条记录. 事情是,如果我的报告将2009年数据与2010年数据,2008年与2009年,2009年与2009年或今年之前的任何组合进行比较,那么结果将在1-5秒内返回. 但是,如果我运行包

我有一个MSSQL2005数据库,其记录可以追溯到2004年,目前在一个特定的表中只有不到1,000,000条记录.

事情是,如果我的报告将2009年数据与2010年数据,2008年与2009年,2009年与2009年或今年之前的任何组合进行比较,那么结果将在1-5秒内返回.

但是,如果我运行包含2011年数据的报告,那么报告需要大约6分钟.

我检查了数据,它看起来与前几年类似,并且与所有报告中使用的相同数据进行交叉引用.

好像数据库已超出某个限制;今年的数据已经变得支离破碎,因此难以获取.我不是说这是事实,但可能是我知道的.

有人有什么建议吗?

肖恩.

更新:自发布问题后,我发现DBCC DBREINDEX table_name似乎已经完成了诀窍.

解决方法

执行计划是什么样的?如果不同,您可能需要手动更新表中的统计信息,因为新插入的行可能在统计信息中不成比例地表示,因此可能会选择次优计划.

有关此问题的解释,请参阅此博客文章Statistics,row estimations and the ascending date column

另外,检查您的2011查询是否由于并发插入或更新而未遇到阻塞,这些插入或更新不会影响对历史数据的查询.

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读