yanyangtian4502 发表于 2011-12-23 01:30

第二节 执行计划第一次实践

<DIV>
<P style="TEXT-ALIGN: center">SQL Server性能调优之执行计划深度剖析 第二节 执行计划第一次实践</P>
<P>前言:自从上一篇文章发出之后,收到了很朋友的关注。很多朋友要求多多实践,而不是纯粹的理论。确实,从打算出这个系列开始,我就本着实践的思想来进行的!同时,为了使得大家更好的理解、消化这些知识,我会定期的就所写内容进行在线的视频讲座,朋友们可以去参与这个小组:<a href="http://www.agilesharp.com/c/sqlprofiler.aspx" target="_blank"><FONT color=#f66209>http://www.agilesharp.com/c/sqlprofiler.aspx</FONT></A></P>
<P>报名活动开始啦:<a href="http://www.agilesharp.com/Event.aspx/T-2" target="_blank"><FONT color=#075db3>http://www.agilesharp.com/Event.aspx/T-2</FONT></A></P>
<P><STRONG><FONT color=#075db3></FONT></STRONG>&nbsp;</P>
<P><SPAN style="COLOR: #ff0000"><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </STRONG><STRONG>议程如下:</STRONG></SPAN></P>
<P><SPAN style="COLOR: #ff0000"><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </STRONG><STRONG>实践概述</STRONG></SPAN></P>
<P><SPAN style="COLOR: #ff0000"><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </STRONG><STRONG>图形化执行计划实战</STRONG></SPAN></P>
<P><SPAN style="COLOR: #ff0000"><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </STRONG><STRONG>执行计划信息解读</STRONG></SPAN></P>
<P><SPAN style="COLOR: #ff0000"></SPAN>&nbsp;</P>
<P><SPAN style="COLOR: #ff0000"><STRONG>实践概述</STRONG></SPAN></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 执行计划可以辅助我们写出高效率的T-SQL代码,同时也可以找出现有T-SQL代码的问题,还可以监控数据库!当然,最后如何使用执行计划还是取决于我们自己了,但是不管怎么样,我们首先学会解析执行计划中所包含的信息,最快的学习方法就是实践。下面,我们就从一个实践开始。</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为了使得大家易于理解,这里的例子不会太复杂,随着课程的不断深入,后续的示例也会越来越复杂。同时,如果大家也想跟着一起动手实践,那么希望朋友们安装SQL2005或更高版本,同时记得安装AdventureWorks数据库。下载地址为:<a href="http://msftdbprodsamples.codeplex.com/" target="_blank"><FONT color=#f66209>http://msftdbprodsamples.codeplex.com</FONT></A></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 另外,有一个需要注意的是,由于数据库中数据,操作和时间的关系,可能大家在运行脚本产生的执行计划和我这里不完全一样,这是没有任何问题的!</P>
<P>&nbsp;</P>
<P><SPAN style="COLOR: #ff0000"><STRONG>图形化执行计划实战</STRONG></SPAN></P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面我们正式进入要讨论的话题。</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先,为了使得我们可以查看执行计划,最起码要确保我们在登录数据库的时候,要被授予权限,如下语句所示:</P>
<DIV id=highlighter_67949 class="syntaxhighlighter ">
<DIV class=lines>
<DIV class="line alt1">1.<SPAN class=content><SPAN style="MARGIN-LEFT: 0px !important" class=block>GRANT SHOWPLAN TO </SPAN></SPAN></DIV></DIV></DIV>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为了将讨论集中在执行计划(估计执行计划和实际执行计划)上,我们这里这是运行一个比较简单的查询,如下代码所示:</P>
<DIV id=highlighter_962569 class="syntaxhighlighter ">
<DIV class=lines>
<DIV class="line alt1">1.<SPAN class=content><SPAN style="MARGIN-LEFT: 0px !important" class=block>SELECT * FROM .;</SPAN></SPAN></DIV></DIV></DIV>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;下面,我们就来看看这个语句的估计执行计划,正如之前文章讲述的:估计执行计划是优化器使用了的元数据,成本分析算法等而产生的计划,这个计划是查询语句执前的一个分析!</P>
<P>&nbsp;</P>
<P><SPAN style="COLOR: #ff0000"><STRONG>显示估计执行计划</STRONG></SPAN></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们可以采用以下几种方式显示估计执行计划:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.&nbsp; 点击Sql Server Studio工具栏上的按钮:&nbsp;&nbsp;</P></DIV>
页: [1]
查看完整版本: 第二节 执行计划第一次实践