ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Index Full Scan 与 Index Fast Full Scan (Final)

Index Full Scan 与 Index Fast Full Scan (Final)

原创 Linux操作系统 作者:tolywang 时间:2010-08-24 10:53:39 0 删除 编辑

 

Index Full Scan (索引全扫描)   

当进行index full scan的时候,oracle定位到索引的root block,
然后到branch block(假如有的话),再定位到第一个leaf block, 然后
根据leaf block的双向链表顺序读取。它所读取的块都是有顺序的,也是
经过排序的,所以index full scan可以用来避免某些sort操作。查询出的
数据都必须从索引中可以直接得到。   这个full scan的名字有点误导人,
其实并不是所有的index block都被读取的,某些分支块是不会读到的。

1.   查询出来的数据都必须从Index中可以直接得到。  

2.   Index中至少有一个字段是非空 。 

3.   可以消除掉排序操作,因为数据已经被index key 排好序了 。 

4.   它一个一个地读取block,  不能多块读 。也不能并行。

 

Index Fast Full Scan (索引快速全扫描) 


而index fast full scan则不同,它是从段头开始,读取包含位图块,
root block, 所有的branch block, leaf block,读取的顺序完全由物理存
储位置决定,并采取多块读,每次读取db_file_multiblock_read_count个块。
因为能并行或多块读,index fast full scan不能用来消除sort操作。 

1.   这种Index Fast Full Scan 只有在CBO下有效

2.   需要分析Index , 否则优化程序可能不会用它

3.    在Index中取数据,而不是存取table中的数据

4.    Index中至少一个字段是非空

5.    不能消除排序操作, 因为数据没排序

6.    与Index Full Scan不一样,用多块读方式读整个Index 

7.    Index Fast Full Scan 比 正常的Index Full Scan 更快,因为能用多块读方式,且能并行执行

8.     Index Fast Full Scan 并行和表的并行是分开的, 可以通过Parallel 来设置 

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-671692/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695548