优化, 比较考察经验和能力, 如果是通过简单的规则和步骤就能解决问题,那肯定市面就就会有现成的工具了
在定位问题上, 通常会先看看服务器的 CPU 和磁盘 I/O, 如果在一个比较高的值, 那么响应慢是正常的, 我们可以通过 sp_who2 结合 SQL Profile 之类, 确定连接数是否过高, 是有大部分进程都在等待资源, 还是有频繁的查询, 如果还是不好判断的话, 也可以通过关闭一些程序模块, 如果某些模块被关闭后, 服务器响应正常, 那么应该针对这些模块涉及的SQL 进行分析优化, 如果单独运行有问题的模块, 从SQL Profile看到的性能是很好的, 那么需要算是否和其他模块一起使用时, 有资源争用, 如果没有, 那么服务器的配置可能无法满足需求; 如果争用的是IO资源, 那么可能需要考虑磁盘IO性能是否无法满足需求, 如果等等被锁定的资源, 那么通常考虑T-SQL的写法之类, 降低锁定资源的时间
对于经常不足, 但确实需要面对服务器性能问题的人来说, 可以尝试SQL Server 的查询引擎优化顾问, 这个可以在一定程度上解决问题(主要以索引为主)

posted on 2013-04-22 15:06  代岳强  阅读(391)  评论(0编辑  收藏  举报