1 table access by user rowid
和
2 table access by user index rowid
在访问表时效率差不多的
而两者差别就在 如果有同样的rowid 访问有两次 rowid会更快(top p296)
而同样的访问11g会在result cache中保存说不定,说不定11g快就是这个原因!而10g没有resultcache!
呵呵!
说到点子上去了,区别就是:
1 table access by user rowid -----多个rowid连续对于同一个block的访问,10g中不可重用,而11g中可重用
和
2 table access by index rowid ---- 多个rowid连续对于同一个block的访问,在10g中和11g中都是可重用的
所以11g中这个对table access by user rowid的新特性使得rowid分页大大受益。
至于oracle是怎么做到这点的,那就是另外一码事了。
我个人认为是11g的新特性,或者说是修复了10g中的缺陷,因为这并不是什么难事,和10g中table access by index rowid的原理是一模一样的。