ITPub博客

首页 > 数据库 > SQL Server > MSSQL2005-QUERY EXECUTION学习笔记一

MSSQL2005-QUERY EXECUTION学习笔记一

原创 SQL Server 作者:sqysl 时间:2009-06-09 05:26:56 0 删除 编辑

内容来自:Chapter 3. Query Execution ---reading query plan
一、读执行计划:
1、查询计划选项;
(1)图形计划,可以存储和加载;
(2)文本计划:SET SHOWPLAN_TEXT ON只显示执行计划;SET SHOWPLAN_ALL ON显示执行计划和图形计划ToolTips和属性窗口中的评估和统计信息中的大多数信息;
(3)XML计划:该计划是MSSQL2005中新出现的,它组合了文本和图形计划的很多特点;
(4)Estimated vs. Actual Query Plans(评估和实际查询计划):我们把不执行查询语句而产生的计划称为“评估执行计划”,因为在执行语句时,可能重新编译执行不同的执行计划;而把执行语句后生成的执行计划称为“实际执行计划”,除了包含和评估执行计划相同的信息,还包括实际行数和操作实际执行数,注意:在实际计划中,虽然实际执行了语句,但产生的“评估代价”和评估执行计划中一样,并不真正反映真正的执行代价,下面是设置产生计划类型的命令:
Table 3-1. SET Commands for Displaying Query Plans CommandExecute Query?Include Estimated Row Counts & StatsInclude Actual Row Counts & StatsText PlanSET SHOWPLAN_TEXT ONNoNoNoSET SHOWPLAN_ALL ONNoYesNoSET STATISTICS PROFILE ONYesYesYesXML PlanSET SHOWPLAN_XML ONNoYesNoSET STATISTICS PROFILE XMLYesYesYes
开始一看XML的计划,头都大了,可仔细一看,还是比较好用的,首先每个操作都有节点号,其次,信息很全,很多是通过属性给出的,下面是一个例子:
     "SELECT O.[CustomerId], MAX(O.[Freight]) as MaxFreight
     FROM [Customers] C JOIN [Orders] O
           ON C.[CustomerId] = O.[CustomerId
     WHERE C.[Country] = @Country
     GROUP BY O.[CustomerId]
     OPTION (OPTIMIZE FOR (@Country = N'UK'))"...>
                         CONCAT_NULL_YIELDS_NULL="false" ANSI_NULLS="false"
                       ANSI_PADDING="false" ANSI_WARNINGS="false"
                       NUMERIC_ROUNDABORT="false" />
               CompileTime="20" CompileCPU="20" CompileMemory="280">
       --消耗内存的操作;
    
      
        
          
            
            
                                              LogicalOp="Clustered Index Scan"...>
                
                                                   Index="[PK_Orders]" Alias="[O]" />
                
              
            
          
        
      
                              LogicalOp="Clustered Index Scan"...>
                                     NoExpandHint="0">                                                                  --节点1;
                                       Index="[PK_Customers]" Alias="[C]" />
              
                
                

              

          
        
      
    
    
                          ParameterRuntimeValue="N'USA'" />
    

  


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8484829/viewspace-605580/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: mssql2005优化暗示
请登录后发表评论 登录
全部评论
大学毕业至今,一直深耕于数据库领域20余载,擅长数据库优化、数据库分析诊断、数据库规划设计等,曾任职多家知名大型企业,多次独立承担并成功上线关键大型项目。

注册时间:2008-06-27

  • 博文量
    365
  • 访问量
    725316