易截截图软件、单文件、免安装、纯绿色、仅160KB

通过分析SQL语句的执行计划优化SQL(六)


执行计划的步骤
执行计划的每一步返回一组行,它们或者为下一步所使用,或者在最后一步时返回给发出SQL语句的用户或应用。由每一步返回的一组行叫做行源(row source)。图5-1树状图显示了从一步到另一步行数据的流动情况。每步的编号反映了在你观察执行计划时所示步骤的顺序(如何观察执行计划将被简短地说明)。一般来说这并不是每一步被执行的先后顺序。执行计划的每一步或者从数据库中检索行,或者接收来自一个或多个行源的行数据作为输入:
由红色字框指出的步骤从数据库中的数据文件中物理检索数据。这种步骤被称之为存取路径,后面会详细介绍在Oracle可以使用的存取路径:
第3步和第6步分别的从EMP表和SALGRADE表读所有的行。
第5步在PK_DEPTNO索引中查找由步骤3返回的每个DEPTNO值。它找出与DEPT表中相关联的那些行的ROWID。
第4步从DEPT表中检索出ROWID为第5步返回的那些行。
由黑色字框指出的步骤在行源上操作,如做2表之间的关联,排序,或过滤等操作,后面也会给出详细的介绍:
第2步实现嵌套的循环操作(相当于C语句中的嵌套循环),接收从第3步和第4步来的行源,把来自第3步源的每一行与它第4步中相应的行连接在一起,返回结果行到第1步。
第1步完成一个过滤器操作。它接收来自第2步和第6步的行源,消除掉第2步中来的,在第6步有相应行的那些行,并将来自第2步的剩下的行返回给发出语句的用户或应用。
实现执行计划步骤的顺序
执行计划中的步骤不是按照它们编号的顺序来实现的:Oracle首先实现图5-1树结构图形里作为叶子出现的那些步骤(例如步骤3、5、6)。由每一步返回的行称为它下一步骤的行源。然后Oracle实现父步骤。
举例来说,为了执行图5-1中的语句,Oracle以下列顺序实现这些步骤:
首先,Oracle实现步骤3,并一行一行地将结果行返回给第2步。
对第3步返回的每一行,Oracle实现这些步骤:
-- Oracle实现步骤5,并将结果ROWID返回给第4步。
-- Oracle实现步骤4,并将结果行返回给第2步。
-- Oracle实现步骤2,将接受来自第3步的一行和来自第4步的一行,并返回
给第1步一行。
-- Oracle实现步骤6,如果有结果行的话,将它返回给第1步。
-- Oracle实现步骤1,如果从步骤6返回行,Oracle将来自第2步的行返回给
发出SQL语句的用户。
注意Oracle对由第3步返回的每一行实现步骤5,4,2,6一次。许多父步骤在它们能执行之前只需要来自它们子步骤的单一


相关文档:

通过分析SQL语句的执行计划优化SQL语句(一)


在数据库的日常维护中,调整个别性能较差的SQL语句是一项极富挑战性的工作。其中的关键在于如何得到SQL语句的执行计划和如何从SQL语句的执行计划中发现问题。总是想将日常经验的点点滴滴总结一下,但是直到最近才下定决心,总共花了3个周末时间,才将其整理成册,便于自己日常工作。现在将其发表出来希望能与更多的朋友分 ......

SQL SERVER快捷键

                                                   ......

SQL SERVER中关于NULL的设定


/***************************************************  
          作者:herowang(让你望见影子的墙)
    日期:2009.12.19
          注:    转载请保留此信息
 &nb ......

SQL Server里建Mysql链接服务器的图解

在SQL Server里建Mysql和Oracle数据库链接还是比较容易的:我们先在服务器上安装Mysql和Oracle数据库相关的ODBC驱动程序,在[管理工具]->[数据源(ODBC)]       设置系统DSN,如下图:     
 
设置好了以后,我们可以用SQL Server自带的导出和导入工具来实 ......

C#数据库编程之基础sql语句

 SQL中有四种基本的DML操作:INSERT,SELECT,UPDATE和DELETE。
INSERT语句
  用户可以用INSERT语句将一行记录插入到指定的一个表中。例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句:
  INSERT INTO EMPLOYEES VALUES
   ('Smith','John','1980-06-10',
   'Los Angles',16,45000);
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号