我们先用一个小表来,来说明一下,Oracle执行计划该注意哪些地方。
hr@ORCL> set autotrace traceonly
hr@ORCL> select * from t;
模糊比较两条sql的优劣时,建议先查看以下两个值:
Cost (%CPU):cpu代价,这个值要代数和。比如,这里是3+3=6
consistent gets:这个值一般要多执行几次!让他稳定下来,才有比较的意义。
Execution Plan :
----------------------------------------------------------
Plan hash value: 1601196873
下面这个计划看的方法:由里到外,由上到下
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 6 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| T | 1 | 6 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------
Statistics
----------------------------------------------------------
228 recursive calls --访问数据字典得到元数据。第二次执行相同语句,递归调用基本为零。
0 db block gets -- 指DML语句所得到的数据块个数
33 consistent gets --重要!!指select语句所得到的数据块个数
8 physical reads --硬盘上读出的数据
0 redo size --产生的日志
414 bytes sent via SQL*Net to client --网络流量指标
385 bytes received via SQL*Net from client --网络流量指标
2 SQL*Net roundtrips to/from client
4 sorts (memory)
0 sorts (disk)
1 rows processed
现在,我们用一个大表,来把执行计划列出来。
sys@ORCL> select * from dba_objects;
50393 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 2127761497
----------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 48669 | 8412K| 145 (5)| 00:00:02 |
| 1 | VIEW | DBA_OBJECTS | 48669 | 8412K| 145 (5)| 00:00:02 |
| 2 | UNION-ALL | | | | | |
|* 3 | FILTER | | | | | |
|* 4 | HASH JOIN | | 51423 | 4670K| 143 (5)| 00:00:02 |
| 5 | TABLE ACCESS FULL | USER$ | 62 | 868 | 2 (0)| 00:00:01 |
|* 6 | TABLE ACCESS FULL | OBJ$ | 51423 | 3967K| 140 (4)| 00:00:02 |
|* 7 | TABLE ACCESS BY INDEX ROWID| IND$ | 1 | 8 | 2 (0)| 00:00:01 |
|* 8 | INDEX UNIQUE SCAN | I_IND1 | 1 | | 1 (0)| 00:00:01 |
| 9 | TABLE ACCESS BY INDEX ROWID | LINK$ | 1 | 88 | 0 (0)| 00:00:01 |
| 10 | NESTED LOOPS | | 1 | 102 | 2 (0)| 00:00:01 |
| 11 | TABLE ACCESS FULL | USER$ | 62 | 868 | 2 (0)| 00:00:01 |
|* 12 | INDEX RANGE SCAN | I_LINK1 | 1 | | 0 (0)| 00:00:01 |
----------------------------------------------------------------------------------------------
- 大小: 29.1 KB
分享到:
相关推荐
已知二叉树的中序和先序遍历可以唯一确定后序遍历、已知中序和后序遍历可以唯一确定先序遍历,但已知先序和后序,却不一定能唯一确定中序遍历。现要求根据输入的中序遍历结果及先序遍历结果,要求输出其后序遍历结果...
一个简单的课程设计,使用Java来实现二叉树的中序遍历
二叉树 中序遍历自己写的c++实现,希望大家受益
使用类的方法创建了一个二叉树的遍历,其中主要是对二叉树进行了中序遍历。
课程设计报告数据结构二叉树遍历演示
VC6 0 链式二叉树的中序创建 递归中序遍历 非递归堆栈中序遍历 中序销毁 求树的深度
右键单击绘制根节点,左键绘制其它节点,节点之间连线产生关系,节点可以拖动。只能应用二叉树,没有封闭纠错。点击confirm,用绿线标出线索。
c++环境下 二叉树的存储结构及实现 中序遍历
1按先序次序输入二叉树中结点的值(一个字符),`0`表示空树,生成二叉树的二叉链表存储结构。然后按中序和后序顺序遍历二叉树输出结果。
二叉树中序遍历描述,教你如何建立结点并开辟结点空间和二叉树的建立
用二叉树先序遍历算法创建一组数据构成的二叉树排序,然后用二叉树中序遍历算法实现数据排序输出。
二叉树的中序线索化及中序遍历,代码可运行
二叉树中序遍历详细过程.xlsx
实现了数据结构中二叉树的中序遍历,是用递归做的,程序简单易懂。
(1)输入字符序列,建立二叉链表 (2)中序遍历二叉树:递归 (3)中序遍历二叉树:非递归 (3)二叉树高度
二叉树中序,后序非递归遍历,可以直接运行。
C语言实现二叉树的中序遍历(递归)。大家下载看看哦!有用的!
C语言实现二叉树的中序遍历(非递归),本人亲自写的!
Java实现二叉树中序线索化 左键画节点 右键画跟 点可以拖动 两个节点可以连线 确认进行线索化 并画出线索
C语言实现二叉树的前序、中序、后续遍历(递归法),大家可以看看哈。。。