`
annan211
  • 浏览: 462682 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

sql server 查询计划

 
阅读更多


在你的执行sql 语句之前加上 下面这句话 就可以列出相应的执行计划


set statistics profile on 


  请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1

执行计划简单说明

【Rows】:表示在一个执行步骤中,所产生的记录条数。(真实数据,非预期)
【Executes】:表示某个执行步骤被执行的次数。(真实数据,非预期)
【Stmt Text】:表示要执行的步骤的描述。
【EstimateRows】:表示要预期返回多少行数据。

在这个【执行过程表格】中,对于优化查询来说,我认为前三列是比较重要的。对于前二列,我上面也解释了,意思也很清楚。 前二列的数字也大致反映了那些步骤所花的成本,对于比较慢的查询中,应该留意它们。 【Stmt Text】会告诉你每个步骤做了什么事情。对于这种表格,它所要表达的其实是一种树型信息(一行就表示在图形方式下的一个节点), 所以,我建议从最内层开始去读它们。做为示例,我来解释一下这张表格它所表达的执行过程。

第5行:【Clustered Index Seek(OBJECT:([MyNorthwind].[dbo].[Customers].[PK_Customers]), SEEK:([MyNorthwind].[dbo].[Customers].[CustomerID]=[MyNorthwind].[dbo].[Orders].[CustomerID]) ORDERED FORWARD)】, 意思是说,SQL Server在对表Customers做Seek操作,而且是按照【Clustered Index Seek】的方式,对应的索引是【PK_Customers】,seek的值来源于[Orders].[CustomerID]

第4行:【Clustered Index Scan(OBJECT:([MyNorthwind].[dbo].[Orders].[PK_Orders]), WHERE:([MyNorthwind].[dbo].[Orders].[OrderDate]>='2010-12-01 00:00:00.000' AND [MyNorthwind].[dbo].[Orders].[OrderDate]<'2011-12-01 00:00:00.000'))】, 意思是说,SQL Server在对表Customers做Scan操作,即:最差的【表扫描】的方式,原因是,OrderDate列上没有索引,所以只能这样了。

第3行:【Nested Loops(Left Outer Join, OUTER REFERENCES:([MyNorthwind].[dbo].[Orders].[CustomerID]))】, 意思是说,SQL Server把第5行和第4行产生的数据用【Nested Loops】的方式联接起来,其中Outer表是Orders,要联接的匹配操作也在第5行中指出了。

第2行:【Compute Scalar(DEFINE:([Expr1006]=isnull([MyNorthwind].[dbo].[Customers].[CustomerName],N'')))】, 意思是说,要执行一个isnull()函数的调用。具体原因请参考本文前部分中给出视图定义代码。

第1行:【SELECT [v].[OrderID],[v].[CustomerID],[v].[CustomerName],[v].[OrderDate],[v].[SumMoney],[v].[Finished] FROM [OrdersView] [v] WHERE [v].[OrderDate]>=@1 AND [v].[OrderDate]<@2】, 通常第1行就是整个查询,表示它的返回值。

 

分享到:
评论

相关推荐

    看懂SqlServer查询计划 .docx

    本篇文章将深入探讨如何解读SQL Server查询计划,以及如何利用这些信息来优化查询性能。 首先,打开SQL Server Management Studio (SSMS),执行一个查询,然后通过点击工具栏上的“显示估计的执行计划”按钮查看...

    看懂SqlServer查询计划

    了解SqlServer查询计划 在Sql Server优化中,了解查询计划是非常重要的。通过了解查询计划,我们可以确定查询的执行步骤,哪些步骤的成本比较高,从而可以采取相应的优化措施。 首先,打开SQL Server Management ...

    教你如何看懂SQL Server查询计划

    SQL Server查询计划是数据库优化的关键工具,它帮助开发者理解数据库如何执行SQL查询,从而找到提升性能的方法。在SQL Server Management Studio (SSMS) 中,你可以通过执行查询并启用“显示估计的执行计划”来查看...

    SQL SERVER 2008 学习计划

    SQL SERVER 2008 学习计划 SQL Server 2008 是一个功能强大且功能齐全的关系数据库管理系统。本学习计划旨在帮助学习者快速掌握 SQL Server 2008 的基本概念、安装、配置、数据库设计、数据操作、存储过程、触发器...

    SQLServer查询耗费大量资源的语句.txt

    - **sys.dm_exec_query_plan(plan_handle)**:该函数返回指定计划句柄的XML格式的查询计划。通过查询计划,可以深入分析查询的执行路径和成本。 #### 1.2 统计指标的计算 - **total_elapsed_time**:查询总耗时,...

    SQL Server维护计划.docx

    ### SQL Server维护计划知识点 #### 一、概述 在企业级数据库管理中,定期执行SQL Server维护计划至关重要。这不仅能确保数据库系统的稳定性和性能,还能提高数据的安全性。本文档详细介绍了如何为SQL Server 2008...

    sqlserver查询分析器独立版单exe文件,支持2008,2012

    SQL Server查询分析器是Microsoft SQL Server数据库管理系统的重要组成部分,它为数据库管理员和开发人员提供了一个交互式的环境,用于编写、测试和执行SQL语句以及Transact-SQL脚本。在这个场景中,我们讨论的是一...

    sqlserver之并行查询

    此外,在查询计划执行过程中,数据库还会判断当时是否有足够多的线程可以使用。 其次,不建议对所有查询都使用并行查询。通常情况下,只有对大型表的连接查询、大量数据的聚合操作、大型结果集的重复排序等操作才...

    sqlserver查询分析器免安装版

    SQL Server查询分析器是Microsoft SQL Server数据库管理系统的重要组成部分,它为数据库管理员和开发人员提供了用于编写、测试和执行SQL查询的界面。免安装版本的SQL Server查询分析器为那些不希望或不能在计算机上...

    剖析SQL Server执行计划

    SQL Server执行计划是数据库管理系统在处理查询请求时所采用的一系列步骤和技术的集合。这些计划旨在优化查询性能,确保数据能够以最高效的方式被检索。本书《SQL Server Execution Plans》第二版由Grant Fritchey...

    sqlserver查询分析器 win10可用

    SQL Server查询分析器是Microsoft SQL Server数据库管理系统中的一个重要工具,主要用于编写、执行和测试SQL语句,以及查看查询结果。在Windows 10操作系统(x64)环境下,选择一个兼容且功能强大的查询分析器至关...

    SQLServer的性能调优:解决查询速度慢的五种方法

    本文主要通过一下几个方面介绍:使用SQLDMV查找慢速查询、通过APM解决方案查询报告、SQLServer扩展事件、SQLAzure查询性能洞察等相关内容。本文来自博客园,由火龙果软件Anna编辑、推荐。SQLServer的一个重要功能是...

    MS SQL Server查询小数位数语句

    MS SQL Server查询语句,以小数位数作为条件,可查询符合条件的记录。可查询多位小数位数。

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录.mp4 15.SQL Server 2014条件限制where.mp4 16.SQL Server 2014 BETWEEN语法.mp4 17.SQL Server 2014子查询...

    sql server 查询当天,本周,本月,本年,30天内的数据的sql语句

    sql server 查询当天,本周,本月,本年,30天内的数据的sql语句

    SQL_Server_2008维护计划实现数据库定时自动备份

    ### SQL Server 2008 维护计划实现数据库定时自动备份详解 #### 核心概念解析 在探讨SQL Server 2008维护计划如何实现数据库定时自动备份之前,我们首先需要理解几个核心概念: - **数据安全与备份**:在IT行业中...

    SQL SERVER 查询分析器

    SQL Server 查询分析器是Microsoft SQL Server数据库管理系统中的一个重要工具,...通过学习和实践这些内容,用户能够熟练掌握SQL Server查询分析器的使用,并提升SQL编程技能,从而更好地管理和操作SQL Server数据库。

    oracle到sqlserver 跨库查询

    .oracle 到 SQL Server 跨库查询 Oracle 到 SQL Server 跨库查询是指通过网关工具将数据从 SQL Server 数据库中抽取到 Oracle 数据库中。这个过程需要安装和配置网关软件,并进行相应的设置和配置。 一、网关软件...

Global site tag (gtag.js) - Google Analytics