对于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'