一种合并增量索引与总索引的方法及装置的制造方法

文档序号:9417501阅读:169来源:国知局
一种合并增量索引与总索引的方法及装置的制造方法
【技术领域】
[0001]本公开涉及数据库技术领域,尤其涉及一种合并增量索引与总索引的方法及装置。
【背景技术】
[0002]近年来,数据库得到越来越广泛的应用,其中索引作为数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
[0003]在数据库中,索引相对于数据库的SQL语句执行得更快。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。当数据库中有大量记录时,若要对数据库进行查询,若采用非索引的方式搜索,需要将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,会消耗大量数据库系统时间,导致大量磁盘I/O操作;若采用索引的方式搜索,在索引中找到符合查询条件的索引值,可快速找到数据库中对应的记录。
[0004]数据库中增加新的数据,不仅需要更新数据库本身,还需要更新与数据库对应的索引。新增加的索引会根据新增加的数据而产生,为了使索引与更新后的数据库相匹配,需要同步更新索引,即将新增加的索引合并到总索引中。现有技术中,合并增量索引与总索引是通过将增量索引中的索引直接写入到总索引中,在这个过程中需要加载总索引,即需要完成加载总索引的磁盘I/O操作。因为增量索引所存储的数据量较小,所以就需要频繁的合并增量索引与总索引,而总索引中存储的数据量非常大,频繁的加载总索引会增加系统的运行负担和带来大量的磁盘I/O操作。

【发明内容】

[0005]本发明提供一种合并增量索引与总索引的方法及装置,用在不需要监测工具来实时监测合并的过程的情况下,处理发生合并增量索引和总索引合并失败的情况。
[0006]根据本公开实施例的第一方面,提供一种合并增量索引与总索引的方法,包括:
[0007]判断增量索引是否满足第一预设条件;
[0008]当所述增量索引满足第一预设条件时,合并所述增量索引与中间索引;
[0009]判断所述中间索引是否满足第二预设条件;
[0010]当所述中间索引满足第二预设条件时,合并所述中间索引与总索引。
[0011]本公开的实施例提供的技术方案可以包括以下有益效果:增量索引本身所存储的索引信息量是比较少的,若直接通过增量索引和总索引合并的方式,会带来大量的磁盘I/O操作和文件加载量。采用本申请的方法,可以降低加载总索引的次数,从而降低了磁盘的I/O操作和加载文件的数量。
[0012]在一个实施例中,在所述处理失败时,所述判断增量索引是否满足第一预设条件,包括:
[0013]判断所述增量索引中所记录的索引信息的数量是否达到第一预设数量值;
[0014]或者判断当前时间与上一次合并所述增量索引与中间索引的时间间隔达到第一预设时间间隔。
[0015]本公开的实施例提供的技术方案可以包括以下有益效果:通过设置增量索引中的索引数量作为阈值之外,还设置了当前时间与上一次合并所述增量索引与中间索引的时间间隔的阈值,这两个阈值可以保证增量索引中的新增的索引信息及时的导入中间索引中,可以提尚索引的更新效率。
[0016]在一个实施例中,所述当所述增量索引满足第一预设条件时,合并所述增量索引与中间索引,包括:
[0017]将所述增量索引中的所有所述索引信息导入到所述中间索引中;
[0018]清空所述增量索引。
[0019]本公开的实施例提供的技术方案可以包括以下有益效果:在合并增量索引与中间索引之后,清空增量索引中的所有索引信息,以便再次使用增量索引,故无需额外创建其他的索引来存储新的索引信息。
[0020]在一个实施例中,判断所述中间索引是否满足第二预设条件,包括:
[0021]判断所述中间索引中所记录的索引信息的数量是否达到第二预设数量值;
[0022]或者判断当前时间与上一次合并所述中间索引与总索引的时间间隔达到第二预设时间间隔。
[0023]本公开的实施例提供的技术方案可以包括以下有益效果:通过设置中间索引中的索引数量作为阈值之外,还设置了当前时间与上一次合并中间索引与总索引的时间间隔的阈值,这两个阈值可以保证中间索引中的索引信息及时的导入总索引中,可以提高总索引的更新效率,提高用户的查询体验。
[0024]在一个实施例中,所述当中间索引满足第二预设条件时,合并所述中间索引与到总索引,包括:
[0025]将所述中间索引中的所有索引信息导入到所述总索引中;
[0026]清空所述中间索引。
[0027]本公开的实施例提供的技术方案可以包括以下有益效果:在合并中间索引与总索引之后,清空中间索引中的所有索引信息,以便再次使用同一个中间索引,故无需额外创建其他的索引来存储增量索引中的索引信息。
[0028]根据本公开实施例的第二方面,提供一种合并增量索引与总索引的装置,包括:
[0029]第一判断模块,用于判断增量索引是否满足第一预设阈值;
[0030]第一合并模块,用于当所述增量索引满足第一预设阈值的条件下,合并所述增量索引与中间索引;
[0031]第二判断模块,用于判断所述中间索引是否满足第二预设阈值;
[0032]第二合并模块,用于当所述中间索引满足第二预设阈值的条件下,合并所述中间索引与总索引。
[0033]在一个实施例中,其特征在于,所述第一判断模块,包括:
[0034]第一判断子模块,用于判断所述增量索引中所记录的索引信息的数量是否达到第一预设数量值;
[0035]第二判断子模块,用于判断当前时间与上一次合并所述增量索引与中间索引的时间间隔达到第一预设时间间隔。
[0036]在一个实施例中,所述第一合并模块,包括:
[0037]导入子模块,用于将所述增量索引中的所有所述索引信息导入到所述中间索引中;
[0038]清空子模块,用于清空所述增量索引。
[0039]在一个实施例中,所述第二判断模块,包括:
[0040]第一判断子模块,用于判断所述中间索引中所记录的索引信息的数量是否达到第二预设数量值;
[0041]第二判断子模块,用于判断当前时间与上一次合并所述中间索引与总索引的时间间隔达到第二预设时间间隔。
[0042]在一个实施例中,所述第二合并模块,包括:
[0043]导入子模块,用于将所述中间索引中的所有索引信息导入到所述总索引中;
[0044]清空子模块,用于清空所述中间索引。
[0045]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0046]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0047]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0048]图1为本发明一示例性实施例示出的一种合并增量索引与总索引的方法流程图;
[0049]图2为本发明一示例性实施例示出的一种合并增量索引与总索引的方法流程图;
[0050]图3为本发明一示例性实施例示出的一种合并增量索引与总索引的方法流程图;
[0051]图4为本发明一示例性实施例示出的一种合并增量索引与总索引的方法流程图;
[0052]图5为本发明一示例性实施例示出的一种合并增量索引与总索引的方法流程图;
[0053]图6为本发明一示例性实施例示出的一种合并增量索引与总索引的装置框图;
[0054]图7为本发明一示例性实施例示出的一种合并增量索引与总索引的装置框图;
[0055]图8为本发明一示例性实施例示出的一种合并增量索引与总索引的装置框图;
[0056]图9为本发明一示例性实施例示出的一种合并增量索引与总索引的装置框图;
[0057]图10为本发明一示例性实施例示出的一种合并增量索引与总索引的装置框图。
【具体实施方式】
[0058]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0059]数据库中增加新的数据,不仅需要更新数据库本身,还需要更新与数据库对应的索引。新增加的索引会根据新增加的数据而产生,为了使索引与更新后的数据库相匹配,需要同步更新索引,即将新增加的索引合并到总索引中。索引与数据库之间的关系,相当于一本书的目录与正文之间关系。所有索引信息分布在多个服务器下对应数据库中的多个分表中,索引分片是在每个服务器单独进行
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1