本帖最后由 pdhye98549 于 2015-4-2 16:07 编辑
他的前提是在硬件和操作系统都已经优化的情况下,我的服务器内存有12G,但是sql server才用到1G,先边看书边配置了。
低质量的索引这一点我感同身受,当时任务比较紧急,没有来得及记录数据。
总之,原来数据库根本没有索引,基本上服务器处于崩溃状态,Sql server CPU占用率100%。
由于很久没搞数据库,学校学习的那点东西都忘光了,重新回来,第一个找到了sql server查询分析器这个东东,把一些表加了索引,一下服务器就正常了,汗(我开始一直因为是程序insert太多的问题,正在写一个memcached的版本来替换,不过后续还是要做的)。
性能杀手 1. 低质量的索引 2. 不精确的统计 3. 过多的阻塞和死锁 4.不基于数据集操作,通常是T-Sql游标 5.低质量的查询设计 6.低质量的数据库设计 7.过多的碎片 8.不可重用的执行计划 9. 低质量的执行计划,通常是因为参数嗅探所导致的 10.执行计划频繁重编译 11. 游标的错误使用 12. 数据库日志的错误配置 13. 过多使用或者错误配置tempdb
我已经在我的表上建立了索引,速度已经大大加快了,从CPU 占用99%, 到过几分钟才会有一次80%。
|