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编辑  收藏  举报

导航