关于多层 nested loop的估值问题
来源:互联网 发布:原生js实现find方法 编辑:程序博客网 时间:2024/05/16 00:26
3 ---------------------------------------------------------------------------------------------------
4 | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
5 ---------------------------------------------------------------------------------------------------
6 | 0 | SELECT STATEMENT | | 100 | 6800 | 233 (0)| 00:00:03 |
7 |* 1 | COUNT STOPKEY | | | | | |
8 | 2 | NESTED LOOPS | | | | | |
9 | 3 | NESTED LOOPS | | 101 | 6868 | 233 (0)| 00:00:03 |
10 | 4 | NESTED LOOPS | | 41 | 1927 | 28 (0)| 00:00:01 |
11 |* 5 | TABLE ACCESS FULL | X | 1 | 11 | 19 (0)| 00:00:01 |
12 | 6 | TABLE ACCESS BY INDEX ROWID| | 41 | 1476 | 9 (0)| 00:00:01 |
13 |* 7 | INDEX RANGE SCAN | | 41 | | 2 (0)| 00:00:01 |
14 |* 8 | INDEX RANGE SCAN | | 2 | | 2 (0)| 00:00:01 |
15 | 9 | TABLE ACCESS BY INDEX ROWID | | 2 | 42 | 5 (0)| 00:00:01 |
16 ---------------------------------------------------------------------------------------------------
如上执行计划,
要取100条记录,
由于如下步骤的结果集返回的估值是2.466
15 | 9 | TABLE ACCESS BY INDEX ROWID | | 2 | 42 | 5 (0)| 00:00:01 |
所以 连接他的步骤只需要返回100/2.466=41的结果集即可。
再评估子步骤的netsted loop,驱动的结果集为1, 所有被驱动的索引查询只需要返回41个结果集即可。
11 |* 5 | TABLE ACCESS FULL | X | 1 | 11 | 19 (0)| 00:00:01 |
即使如下步骤的索引范围扫描,一个索引值的平均记录是437,也只需要读取41条记录即可。
12 | 6 | TABLE ACCESS BY INDEX ROWID| | 41 | 1476 | 9 (0)| 00:00:01 |
nested loop 的最终返回结果集是两个子结果集的乘积。
- 关于多层 nested loop的估值问题
- 关于估值系统修改的通知
- 关于nested transactions not supported的问题
- 目前的估值安全吗?中的问题
- 互联网公司的期权激励和期权估值问题
- 将“相关值”导致的Nested Loop优化成Hash Join
- nested loop 原理
- Nested-Loop Join Algorithms
- 11g对Nested Loop Joins做的改动
- oracle的表连接hash join、nested loop join
- 二手车估值接口 返回合作伙伴的估值记录
- 关于函数调用的loop的一个问题
- 关于多层layout的嵌套问题(转)
- 关于多层for循环迭代的效率优化问题
- java中关于使用break跳出多层循环的问题
- 关于用java播放声音的问题之LOOP方法
- 关于eclipse的 Unhandled event loop exception PermGen space 问题
- 不仅仅是估不准的问题
- hadoop操作HDFS文件权限问题
- 深入分析Java ClassLoader原理
- Android Fragment(动态,静态)碎片详解及总结
- QListWidget制作聊天列表
- codeforces 743 C. Vladik and fractions(构造)
- 关于多层 nested loop的估值问题
- Angular.js的数据绑定以及模块作用域
- 3D开发学习-初识SurfaceView
- Java 多线程学习笔记 线程通讯 wait notify notifyAll的理解
- Spring学习笔记之Bean的作用域
- 通过获取鼠标的点击位置来动态定位元素
- 解题报告:POJ 3162 Walking Race 树型DP+单调RMQ
- 位与字节
- Android ORMLite 多表联查