oracle bloom过滤,Oracle Sort and Bloom Filter – Fuyuncat

感谢ACOUG成员黄玮投递文章《Oracle的排序以及Bloom Filter》,以下是文章概要及下载链接。

1. Oracle的排序

本节主要介绍Oracle的排序算法与跟踪。

1.1 排序(sort)算法

在Oracle的排序过程中,首先将获取到的数据放入一块私有内存区(Sort Area)中进行排序。如果需要排序的数据太大,无法一次在Sort Area中完成全部数据的排序,就会将Sort Area中排好序的数据直接写入(Direct Write,数据不被cache)临时空间作为一个数据集存在。当所有数据都在内存中排过序并写入了磁盘后,就会将磁盘上的数据集进行合并排序 (Merge Sort)。合并排序是一个递归过程,直到所有数据集都被合入一个数据集,排序才算完成。

1.2 初始化运行(Initial Runs)

数据最初在Sort Area中排序的过程被称为初始化运行。Sort Area的80~90%的空间需要被用于读缓冲,其他空间则被用于写缓冲。如果我们知道有多少数据(可以通过需要排序的记录数、记录平均长度已经数据块大 小估算出来)需要进行排序,那么就可以用下面的公式来估算初始化运行的次数(也就是会产生多少个初始数据集):

[sourcecode language=”sql” light=”true”]Initial Runs = CEIL(SORT_DATA_BLOKCS / ROUND(0.8*SORT_AREA_SIZE/BLOCK_SIZE))[/sourcecode]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值