对于SQL Server的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题, 因此本文只谈优化查询时如何看懂SQL Server查询计划。毕竟我对SQL Server的认识有限,如有错误,也恳请您在发现后及时批评指正。

  首先,打开【SQL Server Management Studio】,输入一个查询语句看看SQL Server是如何显示查询计划的吧。

set showplan_all on:将执行计划的信息写入到一个表中,其中包含的一些估计的值有:StmtText, StmtId, NodeId, Parent, PhysicalOp, LogicalOp, Argument, Defi nedValues,EstimateRows, EstimateIO, EstimateCPU, AvgRowSize, TotalSubtreeCost, OutputList,Warnings, Type, Parallel, and EstimateExecutions。

set statistics profile on :选项会产生一个实际的计划。设置这个选项为ON的时候显示的结果和设置SHOWPLAN_ALL为ON差不多,不过多了两个属性Rosw和Executes,表示实际的行数和运行行数。

注意:在命名用set showplan_all on或set statistics profile on 时,要先关闭对方,即set statistics profile  off  或 set showplan_all off

 

use Portal
set statistics profile on

 Select a.*,d.JobsApplyID
 From Whir_U_JobsApply a 
 left join (select * from Whir_U_ReviewProc 
                    where ISNULL(JobsApplyID,'')<>'') d 
                    on convert(int,d.JobsApplyID)=convert(int,a.Whir_U_JobsApply_PID)
 Where 1=1 And a.IsDel='false'
示例

相关文章: