暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

大对象直接读取

原创 由迪 2021-01-10
1060

当在进行并行查询操作时,通常意味着操作对象可能是一些大数据量对象。而如果这些数据被读入共享缓存,将会占用大量内存空间、降低其他数据块的内存命中率,同时也会增加该操作本身的资源消耗。为了减少大对象占据共享缓存所导致的性能问题,从 10g 开始,在并行访问对象时, 如果对象的需要由多数据块读访问的数据块数大于系统(由隐含参数“_small_table_threshold”, 小表临界值设置,默认值为“_db_block_buffers”的 2%)设置的临界值时,无论对象的数据块是否已经在缓存当中,都会直接从磁盘读取。
我们通过示例来看该设置对并行查询的影响。查看测试表数据块的使用情况:

image.png

可以看到,该表的高水位线下已经被格式化的数据块数为 810 块,即在全表扫描时,有 851 块数据块通过多数据块读访问。而目前系统参数的小表临界值为 318 块数据块。对其进行并行查询:
image.png
image.png
image.png
未完待续

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论