数据库系统实现(PAGE填充)

博客围绕PAGE数据填写中空洞问题展开,提出用多个PAGE最优匹配减少空洞。介绍具体流程,先定位剩余空间最小的PAGE填充数据,判断是否到水线,到则将PAGE ID向后级处理发送。还提及极端情况及解决办法,避免数据丢失。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进行PAGE的数据填写的过程中,有空洞的存在,最大限度利用空间,如何减少空洞?

解决的方式,使用多个PAGE进行最优匹配,当数据页到数据水线的情况下,将剩余空间最小的释放;

具体的流程:

1、在正在填充的PAGE中,比较空间减掉目前数据长度后,剩余空间最小的,定位其序号,然后将数据填充到里面;

2、然后判断是否有到水线,没有到,继续等下一个数据的填充;

3、到水线的情况,将PAGE ID向后级处理发送;

4、极端的情况:有的PAGE有可能永远都没有机会到最小的空间,别的PAGEBUFFER始终有最小的,这样数据就没有办法推到后级处理,导致数据丢失在内存中,解决的方式就是进行切换,到达水线的情况下,最小的空间发一次,几次之后切换为发送最老的一块数据,使用计数,来一段数据,所有页都进行计数,符合条件的都到后级处理,计数最大的就是最老的。将计数最大的在这个机会点推到后级处理,然后再切换为发最小剩余空间的方式。

第四步情况往往容易被忽略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值