【技术实现步骤摘要】
一种用于关系数据库的反向索引优化方法及系统
[0001]本专利技术属于计算机
,特别涉及一种用于关系数据库的反向索引优化方法、系统。
技术介绍
[0002]随着大文本在各种场景中的使用频率越来越高,如何有效管理大文本的存储和查询的需求正迅速增加。数据库通过高效的索引访问,维护数据完整性,备份操作和错误处理来保证高性能和稳定性。几年来,关系数据库管理系统关注在文本搜索技术上,因原有的关键字搜索会因查询的关系增多,执行耗时就越高,而使用反向索引来加速全文搜索。反向索引是一种数据结构,根据关键字对文档进行索引和存储,以在全文进行文本搜索。但是,使用反向索引的关系查询引擎在执行时,会比较和合并所有发布列表行以实现发布列表的合并,大幅增加了查询的搜索时间。为减少搜索时间,市面上已有使用快速搜索指数跳过发布列表的合并连接的方法,但是如果超出了搜索键值,该方法还是会比较发布列表,所以如何减少不必要的比较和查询很有必要。
[0003]在关系数据库搜索中存在多种搜索方法,基于关键字的搜索是最常用的技术,分为基于图的或基于关系的。基于图表的搜索技术将一个关系数据库的所有数据绘制在一个图表上,节点表示元组,节点之间的链接表示定义关系,具有查询处理速度快的优点。基于关系的关键字查询为每个关键字生成一个发布列表,每个表中的元组可以基于模式中表示的关系进行联接,适用于大型数据库,并可以处理复杂的查询。
[0004]反向索引结构被用于存储和管理大型文档,也可以在搜索引擎中使用。反向索引结构可以根据不同使用场景进行拓展,一开始 ...
【技术保护点】
【技术特征摘要】
1.一种用于关系数据库的反向索引优化方法,其特征在于,包括:步骤1:为每个发布列表检查游标当前指向的值;步骤2:判断是否匹配并重复执行;步骤2
‑
1:如果三个发布列表的当前值相同,则相应的键值存储在结果列表中,并且三个发布列表的游标都被移动一个单元格;步骤2
‑
2:如果不匹配,则根据不匹配的第n
‑
1个发布列表的游标值Vd(C
n
‑
1(j)
)检查第n个发布列表的键值Vd(C
n(i)
);如果游标值Vd(C
n
‑
1(j)
)小于键值Vd(C
n(i)
),则使用跳过合并连接方法搜索与键值Vd(C
n(i)
)相等或小于该值的行,并将游标移动到该行,移动行数由聚合函数确定的;其中,C
n(i)
代表列表n中指向第i行的游标值;i、j分别指代当前键值和游标值的行;步骤3:在移动游标后,返回到步骤1并确定n个发布列表的游标值是否匹配;重复此过程,直到一个或多个发布列表的游标指示为NULL为止。2.根据权利要求1所述的用于关系数据库的反向索引优化方法,其特征在于,所述方法还包括查询处理:在合并和短语查询中执行列表交叉时,使用逻辑产品搜索包含所有搜索关键字的文档,包括连接查询和短语查询;其中所述连接查询,步骤如下:连接查询搜索包含n个搜索关键字的文档,合取查询要求发布按单调递增已输入的n个关键字排序的列表,并返回包括n个发布列表的公共值在内的排序结果值。3.根据权利要求2所述的用于关系数据库的反向索引优化方法,其特征在于,所述方法还包括:使用面向行的关系反向索引表中的<term,docid>列来执行发布列表交叉,使用之字形合并连接,当合并的键值不匹配时,使用之字形合并连接运算符来搜索大于或等于键值的值;通过SkipRow函数将游标移动到一个等于或大于所需值的值,使用反向列表中以单调递增模式排列的跳过合并连接,实现连接查询搜索。4.根据权利要求3所述的用于关系数据库的反向索引优化方法,其特征在于,具体的跳过合并方法包括,将数据库提供的聚合函数用于跳过按升序排序的两个发布列表的行,通过计算一个聚合函数来获得游标必须移动的行数,所述聚合函数是指在发布列表中游标指示的目标行的值与发布列表中游标指示的行的值之间的行数,从而避免了进行比较的需要;同时,通过验证二进制搜索来确定游标跳过的键值是否大于比较键值,或者偏移量是否在偏移量表中的同一文档编号内移动,并检查移动的文档编号中的第一个偏移量,从而避免合并连接中不必要的比较问题。5.根据权利要求3所述的用于关系数据库的反向索引优化方法,其特征在于,具体的多路连接方法为:当有三个发布列表时,首先,使用三个游标,比较每个倒排列表中第一行的值,因列表A和列表B的光标值不同,列表B的光标向前移动一个单元格,然后,再次比较三个游标值,如果列表A和B的游标值相同,而列表C的游标值较小,则将列表C的游标移动一个单元格到一个值大于等于列表B的游标值的行,结果值是通过同时连接三个列表而不存储中间结果值来获...
【专利技术属性】
技术研发人员:李志辉,关永春,党咏欣,杨宁,晏进,张宇峰,
申请(专利权)人:中电信数智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。