免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7125 | 回复: 14
打印 上一主题 下一主题

急急急,如何降低SQL SERVER 2000的CPU占用率 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-10 21:57 |只看该作者 |倒序浏览
各位高手,我写的存储过程在运行的过程中,峰值达到100%,有没有办法降下来啊,急。

论坛徽章:
0
2 [报告]
发表于 2007-04-10 23:35 |只看该作者
高CPU 使用率可能表明你的存储过程设计不良。优化存储过程可以降低 CPU 的使用率。
还有一个需要慎重考虑的方法就是:右击“SQL Server2000实例”---->选择“属性”---->选择“处理器”选项卡--->选中“在 Windows 上提升 SQL Server 的优先级”,试试看怎样?

论坛徽章:
0
3 [报告]
发表于 2007-04-11 04:45 |只看该作者

Re: 急急急,如何降低SQL SERVER 2000的CPU占用率

最初由 wahaha2046 发布
[B]各位高手,我写的存储过程在运行的过程中,峰值达到100%,有没有办法降下来啊,急。 [/B]

\\\\
你吧代码贴一下,咱们一块看看

论坛徽章:
0
4 [报告]
发表于 2007-04-11 10:23 |只看该作者
那是你SQL语句 写的差 还有索引没用对 或者没用索引 或者你本身数据库设计有问题 或者是你的SP没在空闲时间运行 问题太多了 -_-

论坛徽章:
0
5 [报告]
发表于 2007-04-12 00:34 |只看该作者
谢谢各位捧场,我的代码也不是太复杂,就是关联的表比较多,而且每个表的记录数比较多,最多的有3000万记录,然后把关联的结果放入临时表,在临时表上在进行其他处理;如果说代码写的差,或者没有用到索引,真的就影响这么大吗?而且我的存储过程每天定时运行的,没有办法设置在数据库空闲时运行。大家再给些建议,谢谢了。

论坛徽章:
0
6 [报告]
发表于 2007-04-12 09:31 |只看该作者
30000w的记录,CPU不满才怪呢!!!

论坛徽章:
0
7 [报告]
发表于 2007-04-12 09:59 |只看该作者
噢靠,利害。

你们可以多弄几台服务器, 一台备份数据,一台供查询。

或者, 后台存数据用Oracle,前台供查询用MSSSQL, 或者,后台用MSSQL前台用MySQL

论坛徽章:
0
8 [报告]
发表于 2007-04-13 00:11 |只看该作者
谢谢你的建议,我会考虑的。

论坛徽章:
0
9 [报告]
发表于 2007-11-13 11:01 |只看该作者
3000w条记录还写入临时表,速度不慢都难呀。

解决方法:
建立合适的索引,优化存储过程的SQL语句,对于大量的记录,最好不要插入临时表,或者在插入临时表后,对临时表可以建立相应的索引。

对于处理大量数据的过程,可以放在服务器比较闲时运行,当客户访问的时候,直接调用处理的结果,以免增加服务器负荷。

还有就是升级硬件来解决问题了。

论坛徽章:
0
10 [报告]
发表于 2007-11-14 09:10 |只看该作者
有誰能夠看3千萬條數據????
這份報表顯然有問題
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP