查看方式
EXPLAIN PLAN FOR
SELECT
T1.ORDER_KEY AS ORDER_KEY --注文キー
,T1.EXECUTION_NO AS EXECUTION_NO --出来履歴
,T1.RECSEQNO AS RECSEQNO --レコードシーケンスNO
,T1.ORDER_DATE_TIME AS ORDER_DATE_TIME --発注日時
,T1.PRODUCT_KEY AS PRODUCT_KEY --銘柄コード
,T1.EXCHANGE_DESC AS EXCHANGE_DESC --取引所
,T2.MGRCOD AS MGRCOD --銘柄コード
FROM
KW301_001 T1
LEFT OUTER JOIN SN101 T2 ON T1.PRODUCT_KEY = T2.MGRCOD
WHERE
T1. PRODUCT_TYPE = 'CB';
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
执行顺序
执行顺序的原则是:由上至下,从右向左
由上至下:在执行计划中一般含有多个节点,相同级别(或并列)的节点,靠上的优先执行,靠下的后执行
从右向左:在某个节点下还存在多个子节点,先从最靠右的子节点开始执行。
一般按缩进长度来判断,缩进最大的最先执行,如果有2行缩进一样,那么就先执行上面的。
执行计划中字段解释
ID: 一个序号,但不是执行的先后顺序。执行的先后根据缩进来判断。
Operation: 当前操作的内容。
Rows: 当前操作的Cardinality,Oracle估计当前操作的返回结果集。
Cost(CPU):Oracle 计算出来的一个数值(代价),用于说明SQL执行的代价。
Time:Oracle 估计当前操作的时间。
谓词说明
Access :
通过某种方式定位了需要的数据,然后读取出这些结果集,叫做Access。
表示这个谓词条件的值将会影响数据的访问路劲(表还是索引)。
Filter:
把所有的数据都访问了,然后过滤掉不需要的数据,这种方式叫做filter 。
表示谓词条件的值不会影响数据的访问路劲,只起过滤的作用。
在谓词中主要注意access,要考虑谓词的条件,使用的访问路径是否正确。
Statistics(统计信息)说明
recursive calls
产生的递归sql调用的条数。
Db block gets:
从buffer cache中读取的block的数量
consistent gets
从buffer cache中读取的undo数据的block的数量
physical reads
从磁盘读取的block的数量
redo size
DML生成的redo的大小
bytes sent via SQLNet to client
数据库服务器通过SQLNet向查询客户端发送的查询结果字节数
bytes received via SQLNet from client
通过SQLNet接受的来自客户端的数据字节数
SQL*Net roundtrips to/from client
服务器和客户端来回往返通信的Oracle Net messages条数
sorts (memory)
在内存执行的排序量
sorts (disk)
在磁盘上执行的排序量
rows processed
处理的数据的行数