文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>sqlserver2005:T-Sql查询之物理查询优化(二)

sqlserver2005:T-Sql查询之物理查询优化(二)

时间:2010-09-05  来源:笑清风

一、查询优化工具

1.Syscacheobjects

Sql Server2000提供了一个虚拟的系统表master.dbo.syscacheobjects 它包含被缓存的执行计划的信息。Sql Server2005提供了一个兼容的视图sys.syscacheobjects,还有一个新的DMV和两个DMF以替换遗留的系统表和兼容性视图即:sys.dm_exec_cached_plans(对象包含已缓存的查询计划的信息)、sys.dm_exec_plan_attributes(接受一个计划的句柄作为输入、为该计划的每个属性返回一行)和sys.dm_exec_sql_text(接受一个查询句柄作为输入,返回查询文本)。

2.清空缓存

从缓存中清空所有的数据

DBCC DROPCLEANBUFFERS

从缓存中清空执行计划

DBCC FREEPROCCACHE

清空特定数据库的执行计划(不推荐使用)

DBCC FLUSHPROCINDB<db_id>

3.动态管理对象

4.STATISTICS IO---是一个会话选项Scan count(该表在该计划中被访问的次数)、logical reads(从缓存读取的页数)、physical reads/read-ahead reads(从磁盘读取的页数);lob logical reads/lob physical reads /lob read-ahead reads(与大型对象相关的逻辑读取和物理读取数)

5.测量查询的运行时间

STATISTICS TIME是一个会话选项,它返回与运行语句有关的纯CPU时间和实耗时间信息,它返回分析和编译查询的时间以及执行查询的时间。

6.分析执行计划

图形化的执行计划

运算符提示框:

1).运算符的名称及其功能描述;

2).Physical Operation:将在引擎上发生的物理操作;

3).Logical Opertation:基于微软查询处理概念模型的逻辑操作。例如,链接运算符的Physical Operation属性表示链接算法(Nested Loops、Merge、Hash),Logical Operation属性表示逻辑链接类型(Inner Join、Outer Join、Semi Join等等)。如果没有与该运算符关联的逻辑操作,则这项度量的值与Physical Operation相同。

4).Actual Number Of Rows:从该运算符实际返回的行数(只显示在实际的计划中)。

5).Estimated I/O Cost和Estimated CPU Cost:运算符在特定资源上的估计成本(I/O或CPU)。这两个度量将帮助你确定该运算符是否是I/O密集或CPU密集,例如你可以看到Clustered Index Seek运算符主要与I/O有关,而Hash Match运算符主要与CPU有关。

6).Estimated Operation Cost:执行该操作的成本。

7).Estimated Subtree Cost:表示到当前节点为止整个子树的累积成本。

8).Estimated Number of Rows:该运算符预计的返回行数

9).Estimated Rows Size:

10).Actual Rebinds和Actual Rewinds:这两个度量仅作为Nested Loops链接内侧的运算符有关,在其他运算符中,Rebinds将显示为1,Rewinds将显示为0。它们表示内部Init方法被调用的次数,重新绑定次数和重绕次数之和等于链接外侧所处理的行数。重新绑定意味着链接的一个或多个参数发生更改后,必须重新计划链接的内侧,重绕意味着任何相关参数都没有发生更改,可以重用之前的内侧结果集。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载