SQL Server性能优化
源代码文件
1,什么是性能问题?
现有资源没有达到最大吞吐量的前提下,系统不能满足合理的预期表现,则可以定义为有性能问题。性能指标包括:响应时间,吞吐量,可扩展性。
2,初探优化
2.1优化论
一般遇到2种性能问题:
1),某个功能很慢,或者突然变慢,比如某个存储过程、查询等。
2),整个系统很慢。
第一种情况下,对象比较明确,所以处理起来相对轻松。大部分情况下,只需要研究执行计划就可以解决绝大部分问题。通过改变查询、调整表结构(索引等)。就可以起到明显的效果。
第二种情况下,对象不明确,首先需要定位瓶颈。可以通过性能计数器,sql profiler/sql trace, ExtendedEvents(sql server 2008) ,进行汇总分析。然后定位瓶颈。
2.2 定义问题
2.2.2通过对性能数据进行分类。处理完成后,进行深度分析,总结汇总。
1), 分析数据库实例级别的等待。使用性能计数器、sql profiler进行监控。
6), 优化索引/查询: a,改进代码:用cte等代替游标查询。
关键字:
SARG : SARG(Searchable Arguments操作,因为它通常是指一个特定的匹配,一个值得范围内的匹配或者两个以上条件的AND连接。
1,通配符%在字符串的开通使得索引无法使用。 name like ‘%张’,就不属于SARG。
2,or会引起全表扫描。 Name=’张三’ or 价格>5000 则不符合SARG。
3,IN 相当与OR
4,用union在通常情况下比用or的效率要高的多。
5, 一定要避免select无用字段。
6,通过分页等来
SARG:http://baike.baidu.com/link?url=7ZXayDrpukcblTpbT45lMprJYMf5LS89cDodSkxa08xbt3sppuIvUf_0CAqEvucbzUPjQKqTXPMSeEkG7kGf3q
posted on 2016-08-13 21:33 Henry_Wang 阅读(240) 评论(0) 编辑 收藏 举报