Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Oracle 12c新特性之——TABLE ACCESS BY INDEX ROWID BATCHED大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

Oracle12c开始,我们在获取sql语句的执行计划时,也会经常看到"table ACCESS BY INDEX ROWID BATCHED"操作,那么,这个操作到底是什么意思呢?有什么作用呢?下面我们先看看有关该操作的官方解释:

The BATCHED access shown in Step 1 means that the database retrIEves a few rowIDs from the index,and then attempts to access rows in block order to improve the clustering and reduce the number of times that the database must access a block.

这句话的意思是说,该操作是数据库为了从索引中获取一些rowID,接着,试着按照块顺序存取块中的数据行,以便用来改善聚集效果和减少对一个数据块存取的次数。

官方解释的意思就是这样,但怎么理解呢?之前,当我们通过索引获取的rowID回表获取相应数据行时,都是读一个rowID回表获取一次相应数据行,然后,再读一个rowID,再回表获取一次相应数据行。。。,这样一直读取完所有所需数据。当不同rowID对应的数据行存储在一个数据块中时,就可能会发生对同一表数据块的多次读取,当一个索引的聚集因子比较低时,这也是一个必然结果,从而浪费了系统资源。Oracle 12C中该新特性,通过对rowID对应的数据块号进行排序,然后回表读取相应数据行,从而避免了对同一表数据块的多次重复读取,从而改善了sql语句的性能,降低了资源消耗。该特性通过隐藏参数“_optimizer_batch_table_access_by_rowID”控制,默认值为true,即为开启。

大佬总结

以上是大佬教程为你收集整理的Oracle 12c新特性之——TABLE ACCESS BY INDEX ROWID BATCHED全部内容,希望文章能够帮你解决Oracle 12c新特性之——TABLE ACCESS BY INDEX ROWID BATCHED所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:那么