[发明专利]行迁移消除方法、装置、计算机设备和存储介质在审
申请号: | 202111560676.2 | 申请日: | 2021-12-20 |
公开(公告)号: | CN114265828A | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 金鑫 | 申请(专利权)人: | 平安证券股份有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/23;G06F16/28 |
代理公司: | 华进联合专利商标代理有限公司 44224 | 代理人: | 邓丹 |
地址: | 518048 广东省深圳市福田*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 迁移 消除 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及云数据技术领域,提供了一种行迁移消除方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:检测存在行迁移的记录行,确定所述记录行对应的行标识,基于所述行标识,查找所述记录行进行行迁移后所在的当前数据块、以及所述记录行进行行迁移前所在的原始数据块,确定所述原始数据块的剩余空闲空间以及所述记录行所需占用的存储空间,当所述剩余空闲空间不小于所述存储空间时,将所述当前数据块中的记录行迁移到所述原始数据块中,并删除所述原始数据块中指向所述当前数据块的指针,减少了数据库额外的I/O操作,从整体上提升了数据库的数据处理性能。
技术领域
本申请涉及云数据技术领域,特别是涉及一种行迁移消除方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在oracle(关系数据库管理系统)中修改非行链接的行时,修改后的行长度大于修改前的行长度,且该数据块无法容纳修改后的行时,会将整行的数据迁移到另一个数据块上,并且在原数据块中保留指向该行新位置的指针,这种情况为行迁移。当查询出现行迁移的数据时会引起数据库性能下降,会产生额外的I/O操作。
传统的方案是将存在行迁移的数据存入临时表,删除原来表中存在行迁移的数据,再将临时表的数据取出重新插入到原来表后,删除临时表。但这种处理方式没有考虑外键约束的情况,会导致无法删除有外键约束的存在行迁移的数据行,影响数据库性能。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据库性能的行迁移消除方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种行迁移消除方法。所述方法包括:
检测存在行迁移的记录行,确定所述记录行对应的行标识;
基于所述行标识,查找所述记录行进行行迁移后所在的当前数据块、以及所述记录行进行行迁移前所在的原始数据块;
确定所述原始数据块的剩余空闲空间以及所述记录行所需占用的存储空间;
当所述剩余空闲空间不小于所述存储空间时,将所述当前数据块中的记录行迁移到所述原始数据块中,并删除所述原始数据块中指向所述当前数据块的指针。
在其中一个实施例中,所述确定所述原始数据块的剩余空闲空间,包括:
获取所述原始数据块对应的数据块标识;
以所述数据块标识为索引条件,定位数据表中与所述原始数据块对应的记录信息;
从所述记录信息中得到所述原始数据块的剩余空闲空间。
在其中一个实施例中,所述从所述记录信息中得到所述原始数据块的剩余空闲空间,包括:
从所述记录信息中获取所述原始数据块的总存储空间以及所述原始数据块中每一记录行对应的已占用存储空间的空间大小;
累加所述记录行对应的已占用存储空间的空间大小,得到所述原始数据块对应的累计占用存储空间;
基于所述原始数据块对应的总存储空间和所述累计占用存储空间,得到所述原始数据块的剩余空闲空间。
在其中一个实施例中,所述检测存在行迁移的记录行,确定所述记录行对应的行标识,包括:
基于行迁移行为对应的数据存储方式,从信息表中筛选出表征行迁移行为的目标信息表;
基于所述目标信息表,确定存在行迁移的记录行以及所述记录行对应的行标识。
在其中一个实施例中,所述基于所述目标信息表,确定存在行迁移的记录行以及所述记录行对应的行标识,包括:
基于所述目标信息表,将产生行迁移行为的记录行所对应的行标识记录到数据字典表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安证券股份有限公司,未经平安证券股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111560676.2/2.html,转载请声明来源钻瓜专利网。