有点类似10046,在此略过、
7 系统视图
通过下面一些系统视图,你可以看到一些零散的执行计划的相关信息,有兴趣的话可以多去研究一下。 代码如下: SELECT * FROM V$SQL_PLAN SELECT * FROM V$RSRC_PLAN_CPU_MTH SELECT * FROM V$SQL_PLAN_STATISTICS SELECT * FROM V$SQL_PLAN_STATISTICS_ALL SELECT * FROM V$SQLAREA_PLAN_HASH SELECT * FROM V$RSRC_PLAN_HISTORY
三、看懂执行计划
1.执行顺序
执行顺序的原则是:由上至下,从右向左
由上至下:在执行计划中一般含有多个节点,相同级别(或并列)的节点,靠上的优先执行,靠下的后执行
从右向左:在某个节点下还存在多个子节点,先从最靠右的子节点开始执行。
当然,你在PL/SQL工具中也可以通过它提供的功能来查看执行顺序。如下图所示:
clip_image014
2.执行计划中字段解释
clip_image016
SQL> 名词解释: recursive calls 递归调用 db block gets 从buffer cache中读取的block的数量当前请求的块数目,当前模式块意思就是在操作中正好提取的块数目,而不是在一致性读的情况下而产生的正常情况下,一个查询提取的块是在查询查询开始的那个时间点上存在的数据库,当前块是在这个时候存在数据块,而不是这个时间点之前或者之后的的数据块数目。 consistent gets 从buffer cache中读取的undo数据的block的数量数据请求总数在回滚段Buffer中的数据一致性读所需要的数据块,,这里的概念是在你处理你这个操作的时侯需要在一致性读状态上处理多个块,这些块产生的主要原因是因为你在查询过程中,由于其它会话对数据 块进行操作,而对所要查询的块有了修改,但是由于我们的查询是在这些修改之前调用的,所要需要对回滚 段中的数据块的前映像进行查询,以保证数据的一致性。这样就产生了一致性读。
physical reads 物理读 就是从磁盘上读取数据块的数量。其产生的主要原因是: 1:在数据库高速缓存中不存在这些块。 上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页
|