表的ROWID 扫描是单块读还是多块多的,文档上好像没说

[复制链接]
查看11 | 回复3 | 2013-2-25 14:51:24 | 显示全部楼层 |阅读模式
表的ROWID 扫描是单块读还是多块多的,文档上好像没说
回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
单块吧,一个ROWID就定位一个块,如果有行迁移可能会读其他块。
回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
一般按rowid扫描之前都是按索引去查,所以一次就读一个块
回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
newkid 发表于 2013-2-20 23:59
单块吧,一个ROWID就定位一个块,如果有行迁移可能会读其他块。

那就更没法解释我这个帖子的疑问了
http://www.itpub.net/thread-1753102-1-3.html
还是这个问题 11G的NESTED LOOP到底比10G的改进哪里?
先全部得到ROWDI,再去查询表,这个比较明确的,但是10G也是这样的啊!
在《基于成本的Oracle优化法则》第285页,里提到10G的这个执行计划是先获得全部的ROWID,然后ROWID排序,最后再访问表,这样和11G的NEW IMPLEMENTATION还有啥区别?
除非11G在 TABLE ACCESS BY INDEX ROWID 的时候是多块读的,才能 reduce 物理 I/O
否则那么REDUCE 物理 I/O ?
-----------------------------------------------------------
| Id | Operation
| Name
|
-----------------------------------------------------------
|0 | SELECT STATEMENT
|
|
|1 |NESTED LOOPS
|
|
|2 | TABLE ACCESS FULL | DEPARTMENTS|
|3 | TABLE ACCESS BY INDEX ROWID | EMPLOYEES
|
|* 4 |INDEX UNIQUE SCAN
| EMP_DEPARTMENT_IX|
-----------------------------------------------------------
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行