SQL执行计划解析之执行计划基础上篇

发表于:2011-9-15 10:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:chouyuu    来源:51Testing软件测试网采编

  非法的预估执行计划

  某些情况下,预估的执行计划根本无法工作,比如下边的例子:

  • CREATE TABLE TempTable 
  • Id INT IDENTITY(1, 1) 
  • ,Dsc NVARCHAR(50) 
  • ); 
  • INSERT INTO TempTable ( Dsc ) 
  • SELECT [Name
  • FROM [Sales].[Store]; 
  • SELECT * 
  • FROM TempTable; 
  • DROP TABLE TempTable;
  •   你会得到一个错误

  • Msg 208, Level 16, State 1, Line 7 
  • Invalid object name 'TempTable'.
  •   优化器用于产生预估的执行计划,并不执行那个T-Sql。当通过algebrizer来运行声明的时候,由于查询并没有被执行,临时表并不存在,这就会导致错误。

      请求并行计算

      计划遇到并行计算的瓶颈时,会创建两个计划,实际执行哪个取决于查询引擎。所以你可能在预估执行计划里看到有(或没有)并行操作符。当计划实际被执行时,

      查询引擎决定了要么它不支持并行计算或者调用并行查询后,你可能看到一个完全不同的计划。

      1.7 执行计划的格式

      1)图形方式

      2)文本方式

  • SHOWPLAN_ALL 
  • SHOWPLAN_TEXT 
  • STATISTICS PROFILE
  •   3)Xml方式

  • SHOWPLAN_XML 
  • STATISTICS_XML
  • 33/3<123
    《2023软件测试行业现状调查报告》独家发布~

    关注51Testing

    联系我们

    快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

    法律顾问:上海兰迪律师事务所 项棋律师
    版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
    投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

    沪ICP备05003035号

    沪公网安备 31010102002173号