win2003 64位系统 sql2000打了sp4补丁 报表查询速度比笔记本都慢10倍什么情况?

lkclover 2013-11-25 10:13:24
win2003 64位系统 sql2000打了sp4补丁 报表查询速度比笔记本都慢10倍什么情况?
求解决方案

发现sql2000 打了sp4 补丁速度更慢 感觉可能是索引会无效了
...全文
303 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
KevinLiu 2013-12-10
  • 打赏
  • 举报
回复
最好比对一下笔记本跟生产机器上的执行计划差别
KevinLiu 2013-12-10
  • 打赏
  • 举报
回复
执行计划贴一下吧。
LongRui888 2013-12-09
  • 打赏
  • 举报
回复
建议,在正式升级之前,也进行测试。 比如,原来升级之前的同一个sql语句,运行只需要5秒,升级后却需要1分钟,那么这个就要引起重视,比较一下同一个语句的2个执行计划,有什么区别,通过重建索引,更新统计信息后,再看看,速度是否一致。
LongRui888 2013-12-09
  • 打赏
  • 举报
回复
引用 11 楼 lkclover 的回复:
[quote=引用 10 楼 DBA_Huangzj 的回复:] 不是,完整备份及日志备份在这里仅仅是为了更新某些东西,让你的数据库从库级别上“初始化”一些信息,这个暂时可能很难给你说清楚,你就照着做吧,做下备份也没坏,记得不要还原....回复请引用
还是搞不定换32位系统了,但是又发现了新的问题 服务器cpu是12线程的 sql2000设置里保留4个cpu 速度就很快了 但是查询已个数据量最大的报表 还是比老服务器慢了10秒 最后 去掉11个cpu 速度就比老服务器快了,是sql2000的问题么?安装的也是企业版 怎么会多cpu还更慢呢[/quote] 可能是sql server 2000,对于多cpu的支持不太好,导致在执行并行计划时,多个并行的线程之间,相互等待的时间过长。
發糞塗牆 2013-12-09
  • 打赏
  • 举报
回复
应该是线程调度的问题,一般CPU不需要这么多线程,另外升级需要做一些配置的,比如更新统计信息、索引、备份等。我觉得你这个应该是CXPACKET的问题
lkclover 2013-12-09
  • 打赏
  • 举报
回复
引用 10 楼 DBA_Huangzj 的回复:
不是,完整备份及日志备份在这里仅仅是为了更新某些东西,让你的数据库从库级别上“初始化”一些信息,这个暂时可能很难给你说清楚,你就照着做吧,做下备份也没坏,记得不要还原....回复请引用
还是搞不定换32位系统了,但是又发现了新的问题 服务器cpu是12线程的 sql2000设置里保留4个cpu 速度就很快了 但是查询已个数据量最大的报表 还是比老服务器慢了10秒 最后 去掉11个cpu 速度就比老服务器快了,是sql2000的问题么?安装的也是企业版 怎么会多cpu还更慢呢
發糞塗牆 2013-11-25
  • 打赏
  • 举报
回复
引用 6 楼 lkclover 的回复:
恩 更新统计信息,重建聚集索引 我先试下吧 奇怪的地方就是win2003 32位测试的是 不打sp4 补丁 速度很快 打了sp4 速度慢了10倍都不止
打了SP,可能引起内部一堆有用信息的丢失,就类似重新在一个新服务器上部署一样。除了更新、重建,还可以做一次完整备份及日志备份。
LongRui888 2013-11-25
  • 打赏
  • 举报
回复
引用 6 楼 lkclover 的回复:
恩 更新统计信息,重建聚集索引 我先试下吧 奇怪的地方就是win2003 32位测试的是 不打sp4 补丁 速度很快 打了sp4 速度慢了10倍都不止
这个说明在解决了一部分bug时,可能内部机制,可能也有变化,毕竟是一个大的sp包,里面肯定有些东西会变化的
lkclover 2013-11-25
  • 打赏
  • 举报
回复
恩 更新统计信息,重建聚集索引 我先试下吧 奇怪的地方就是win2003 32位测试的是 不打sp4 补丁 速度很快 打了sp4 速度慢了10倍都不止
發糞塗牆 2013-11-25
  • 打赏
  • 举报
回复
打了sp之后很多东西都会不准确,如果更新统计信息和重建聚集索引都无效,试试在查询的时候执行这个语句看看: select * from sys.sysprocesses where blocked<>0
Cloud_Hero 2013-11-25
  • 打赏
  • 举报
回复
重建索引尝试一下,看能否运行速度加快
發糞塗牆 2013-11-25
  • 打赏
  • 举报
回复
更新统计信息,重建聚集索引
LongRui888 2013-11-25
  • 打赏
  • 举报
回复
一步一步来,如果上面的命令有效,那么就把这些命令大面积铺开。
LongRui888 2013-11-25
  • 打赏
  • 举报
回复
这个还是不能马上就下结论。 我觉得这样,首先你把你发现运行慢的语句中的表, 1.先把语句中涉及到的表,更新一下统计信息: update statistics 表的名称 2.如果运行上面命令后还是慢,看看有没有索引,如果有索引,考虑重建索引试试。
發糞塗牆 2013-11-25
  • 打赏
  • 举报
回复
不是,完整备份及日志备份在这里仅仅是为了更新某些东西,让你的数据库从库级别上“初始化”一些信息,这个暂时可能很难给你说清楚,你就照着做吧,做下备份也没坏,记得不要还原....回复请引用
lkclover 2013-11-25
  • 打赏
  • 举报
回复
完整备份及日志备份 什么意思? 就是 完整的备份一个出来 再还原回去么?

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧