1.执行计划
执行计划的作用:执行计划可以是根据SQL Server查询优化器估算的计划,不需要查询语句真正执行,减少数据库负荷<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

使用执行计划的方式:不实际执行,只估算出执行计划、实际执行SQL语句后,根据实际情况总结出执行计划

执行计划的常用图标;
案例需求: 通过两种执行计划查看在数据库adventureWorks上的查询语句:

   Select * From PRODUCTION.WORKORDER Where PRODUCTID =732 的执行情况。

实施方法一:事先查看执行计划

实施方法二:执行查询后显示执行计划

2客户端统计
客户端统计信息功能获取查询后的实际花销信息,与查询计划一起配合使用分析查询效率更加方便有效

实施方法:

选择客户统计信息按钮

输入SQL语句

选择执行计划的全局效果图

查看显示的执行计划

查看执行计划图

查看节点内容

3.使用索引的查询语句的写法
查询语句基本写法:

    Select [字段列表] From table1 Where 条件表达式1 {and|or} 条件表达式2 {and|or} …条件表达式n;

查询语句使用索引的最基本要求就是要以索引字段为查询条件
条件表达式的样式为 {[索引字段] 条件运算符 []}
使用查询语句的注意事项:

查找条件中不要将字段进行运算

LIKE模糊查询字段的通配符是第一个字符,查询不会使用索引

查询条件使用not或者!=操作符时,查询不会使用索引

使用组合索引,查询条件必须包含组合索引里第一个索引字段

如果查询结果字段与查询条件的字段总是成对出现,建议使用索引表查询

查找条件中不要将字段进行运算
案例需求:对比下列语句 ,分析索引使用情况:

  1Select * From PRODUCTION.WORKORDER Where ProductID + 10=742

  2Select * From PRODUCTION.WORKORDER Where ProductID=732

查询没有使用索引的情况

查询使用索引的情况

查询条件使用not或者!=操作符时
案例需求:查看

   Select * From PRODUCTION.WORKORDER Where ProductID!=732 的索引使用情况

 

使用组合索引的效果
案例需求:数据表PRODUCTION.WORKORDER建立两个组合索引:

 索引1:

       IX_WorkOrder_ProductIDStartDateEndDate 

      包含三个字段(ProductIDStartDateEndDate)

索引2:

       IX_Workorder_StartdateEnddate包含字段

      两个字段(StartDateEndDate)

查询结果字段与查询条件字段成对出现
案例需求:分析查询语句

   Select ProductID From PRODUCTION.WORKORDER

   Where startdate >cast(<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2001-07-12 As datetime) And startdate < cast(2001-07-14 As datetime) 使用以下哪组索引?

索引1:

    IX_WorkOrder_ProductIDStartDateEndDate包含字段(ProductID,StartDate,EndDate)

 索引2 : 

    IX_Workorder_StartdateEnddate包含字段(StartDate,EndDate)