一种索引记录的管理方法及装置制造方法及图纸

技术编号:9902430 阅读:123 留言:0更新日期:2014-04-10 14:08
本发明专利技术实施例公开了一种索引记录的管理方法及装置,该方法包括在数据库表中插入新元组;创建与所述数据库表中插入的新元组对应的索引记录,其中,所述索引记录包括所述新元组的版本信息、用于表示所述新元组的版本信息对当前事务是否可见的状态信息、所述新元组中用于创建所述索引记录的键值以及指向所述新元组的指针,所述新元组的版本信息包括用于表示创建所述新元组的版本信息。实施本发明专利技术实施例可以在索引记录中添加元组的版本信息,能够根据索引记录中元组的版本信息解决读写冲突,提高了数据库的整体性能。

【技术实现步骤摘要】
一种索引记录的管理方法及装置
本专利技术涉及数据库
,具体涉及一种索引记录的管理方法及装置。
技术介绍
在数据库中,数据库表中的每行(即数据库表中的每条记录)就是一个元组。索引是对数据库表中一列或多列的值进行排序的一种结构,通过索引中的索引记录和DML(DataManipulationLanguage,数据操作语言)可以快速的访问数据库表中的特定元组从而大大提高了数据库的性能。现有的大部分数据库只在数据库表中存储元组的新旧版本信息,当发生读写冲突时,写操作会产生一个新的版本信息,并将新的版本信息存储在更新后的元组中,而读操作就必须获取索引记录对应数据库表中的元组的版本信息才能够判断出元组是否符合该读操作的数据库快照的要求,这样大大降低了数据库的整体性能。
技术实现思路
本专利技术实施例公开了一种索引记录的管理方法及装置,用于解决当发生读写冲突时由于现有的索引记录中没有存储元组的版本信息而导致数据库整体性能降低的问题。本专利技术实施例第一方面公开了一种索引记录的管理方法,所述方法包括:在数据库表中插入新元组;创建与所述数据库表中插入的新元组对应的索引记录,其中,所述索引记录包括所述新元组的版本信息、用于表示所述新元组的版本信息对当前事务是否可见的状态信息、所述新元组中用于创建所述索引记录的键值以及指向所述新元组的指针,所述新元组的版本信息包括用于表示创建所述新元组的版本信息。在本专利技术实施例第一方面的第一种可能的实现方式中,所述方法还包括:检测是否存在用于删除所述新元组的操作;若检测到存在用于删除所述新元组的操作,则向所述新元组的版本信息中添加用于表示删除所述新元组的版本信息;更新所述状态信息。结合本专利技术实施例第一方面或本专利技术实施例第一方面的第一种可能的实现方式,在本专利技术实施例第一方面的第二种可能的实现方式中,所述方法还包括:判断用于存储所述索引记录的索引页面的存储空间是否不足;若确定出所述索引页面的存储空间不足,则执行用于清理所述索引页面的操作。结合本专利技术实施例第一方面的第二种可能的实现方式,在本专利技术实施例第一方面的第三种可能的实现方式中,所述执行用于清理所述索引页面的操作包括:根据所述索引页面中的索引记录的状态信息删除所述索引页面中的索引记录中对当前事务可见的用于表示创建元组的版本信息。结合本专利技术实施例第一方面的第三种可能的实现方式,在本专利技术实施例第一方面的第四种可能的实现方式中,所述方法还包括:删除所述索引页面中与所述数据库表中的垃圾元组对应的索引记录,其中,所述垃圾元组包括所述数据库表中被成功删除的元组。本专利技术实施例第二方面公开了一种索引记录的管理装置,所述装置包括:插入单元,用于在数据库表中插入新元组;创建单元,用于创建与所述数据库表中插入的新元组对应的索引记录,其中,所述索引记录包括所述新元组的版本信息、用于表示所述新元组的版本信息对当前事务是否可见的状态信息、所述新元组中用于创建所述索引记录的键值以及指向所述新元组的指针,所述新元组的版本信息包括用于表示创建所述新元组的版本信息。在本专利技术实施例第二方面的第一种可能的实现方式中,所述装置还包括:检测单元,用于检测是否存在用于删除所述新元组的操作;添加单元,用于若所述检测单元检测到存在用于删除所述新元组的操作,则向所述新元组的版本信息中添加用于表示删除所述新元组的版本信息;更新单元,用于更新所述状态信息。结合本专利技术实施例第二方面或本专利技术实施例第二方面的第一种可能的实现方式,在本专利技术实施例第二方面的第二种可能的实现方式中,所述装置还包括:判断单元,用于判断用于存储所述索引记录的索引页面的存储空间是否不足;清理单元,用于若所述判断单元确定出所述索引页面的存储空间不足,则执行用于清理所述索引页面的操作。结合本专利技术实施例第二方面的第二种可能的实现方式,在本专利技术实施例第二方面的第三种可能的实现方式中,所述清理单元具体用于根据所述索引页面中的索引记录的状态信息删除所述索引页面中的索引记录中对当前事务可见的用于表示创建元组的版本信息。结合本专利技术实施例第二方面的第三种可能的实现方式,在本专利技术实施例第二方面的第四种可能的实现方式中,所述装置还包括:删除单元,用于删除所述索引页面中与所述数据库表中的垃圾元组对应的索引记录,其中,所述垃圾元组包括所述数据库表中被成功删除的元组。实施本专利技术实施例具有如下有益效果:当向数据库表中插入新元组时,创建与插入的新元组对应的索引记录,其中,索引记录包括新元组的版本信息、用于表示新元组的版本信息对当前事务是否可见的状态信息、新元组中用于创建索引记录的键值以及指向新元组的指针,新元组的版本信息包括用于表示创建新元组的版本信息。本专利技术实施例中,当发生读写冲突时,读操作就可以根据索引记录中元组的版本信息判断出与索引记录对应的元组是否符合该读操作的数据库快照的要求,提高了数据库的整体性能。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例公开的一种索引记录的管理方法的流程示意图;图2是本专利技术实施例公开的另一种索引记录的管理方法的流程示意图;图3是本专利技术实施例公开的一种索引记录的结构示意图;图4是本专利技术实施例公开的另一种索引记录的结构示意图;图5是本专利技术实施例公开的又一种索引记录的结构示意图;图6是本专利技术实施例公开的又一种索引记录的结构示意图;图7是本专利技术实施例公开的一种索引记录状态转换的结构示意图;图8是本专利技术实施例公开的一种索引记录的管理装置的结构示意图;图9是本专利技术实施例公开的另一种索引记录的管理装置的结构示意图;图10是本专利技术实施例公开的又一种索引记录的管理装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供了一种索引记录的管理方法及装置,可以在索引记录中添加元组的版本信息,能够根据索引记录中元组的版本信息解决读写冲突,提高了数据库的整体性能。以下分别进行详细说明。请参阅图1,图1是本专利技术实施例公开的一种索引记录的管理方法的流程示意图。其中,图1所示的方法可以应用于多媒体数据库、移动数据库、空间数据库、信息检索系统、分布式信息检索系统以及专家决策系统等,本专利技术实施例不做限定。如图1所示,该方法可以包括以下步骤:S101、在数据库表中插入新元组。在数据库中,数据库是由表构成的,表是由页构成的,页是由元组构成的。数据库表中的每行记录就是一个元组,且对数据库中元组的操作可以有插入操作、查询操作、更新操作以及删除操作等。S102、创建与数据库表中插入的新元组对应的索引记录。索引与表一样,也属于段(segment)的一种,里面存放了用户的数据,且也需要占用磁盘空间。但是,索引里面的数据存放形式与数据库表里的数据存放形式不一样。索引是对数据库表中一列或多列的值进行排序的一种结构,且从物理上说,索本文档来自技高网...
一种索引记录的管理方法及装置

【技术保护点】
一种索引记录的管理方法,其特征在于,包括:在数据库表中插入新元组;创建与所述数据库表中插入的新元组对应的索引记录,其中,所述索引记录包括所述新元组的版本信息、用于表示所述新元组的版本信息对当前事务是否可见的状态信息、所述新元组中用于创建所述索引记录的键值以及指向所述新元组的指针,所述新元组的版本信息包括用于表示创建所述新元组的版本信息。

【技术特征摘要】
1.一种索引记录的管理方法,其特征在于,包括:在数据库表中插入新元组;创建与所述数据库表中插入的新元组对应的索引记录,其中,所述索引记录包括所述新元组的版本信息、用于表示所述新元组的版本信息对当前事务是否可见的状态信息、所述新元组中用于创建所述索引记录的键值以及指向所述新元组的指针,所述新元组的版本信息包括用于表示创建所述新元组的版本信息,所述状态信息包括创建新元组的版本信息对当前事务是否可见的状态信息与删除新元组的版本信息对当前事务是否可见的状态信息中的至少一个;检测是否存在用于删除所述新元组的操作;若检测到存在用于删除所述新元组的操作,则向所述新元组的版本信息中添加用于表示删除所述新元组的版本信息;更新所述状态信息;判断用于存储所述索引记录的索引页面的存储空间是否不足;若确定出所述索引页面的存储空间不足,则根据所述索引页面中的索引记录的状态信息删除所述索引页面中的索引记录中对当前事务可见的用于表示创建元组的版本信息。2.如权利要求1所述的方法,其特征在于,所述方法还包括:删除所述索引页面中与所述数据库表中的垃圾元组对应的索引记录,其中,所述垃圾元组包括所述数据库表中被成功删除的元组。3.一种索引记录的管理装置,其特征在于,包...

【专利技术属性】
技术研发人员:李海丰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1