一种索引处理方法与设备的制造方法_2

文档序号:9687491阅读:来源:国知局
断,如设置索引效率阈值为字段判断标准,当优选索引字段超过所设定的索引效率阈值时,就判断所述优选索引字段为所要建立的第二索引所对应的字段。进一步,基于所获得的优选索引字段对其所能够覆盖的第一索引进行合并生成第二索引。例如,在上例中,若得到符合标准的优选索引字段a,且第一索引Cl,c2,c3中都含有字段a,而第一索引c4,c5中不含有字段a,则说明优选索引字段a能够覆盖第一索引cl,c2, c3,进而对第一索引cl,c2,c3,进行合并处理,获得所述数据库对象的第二索引Tl (a)。
[0029]接着,对所述多个第一索引中未被该优选索引字段覆盖的第一索引进行合并处理,以获得所述数据库对象的一个或多个第二索引,直至每个第一索引的至少一个索引字段可使用一个第二索引。例如,在上例中,有多个第一索引cl,c2,C3,C4,C5,对于所述优选索引字段a,其能够覆盖第一索引cl,c2,c3,但是对于第一索引c4,c5,并没有被所述优选索引字段a所对应的第二索引Tl (a)覆盖,所以,需要进一步对c4,c5再次进行合并运算,即通过一定的字段选择标准和字段判断标准确定出优选索引字段,再建立出相应的第二索弓丨。最终,获得的的第二索引是一个或是多个,同时满足每个第一索引的至少一个索引字段可使用至少一个第二索引,从而使得利用原有的各个第一索引进行的查询都可以利用所述第二索引来实现。
[0030]优选地,所述索引处理设备I中根据所述多个第一索引确定优选索引字段包括:确定各索引字段在所述多个第一索引中的累计频次信息,将其中累计频次信息更高的索引字段确定为优选索引字段。
[0031 ] 具体地,优选索引字段的确定可以通过一定的字段选择标准进行选取。在此,可以通过获取所述多个第一索引的字段频次并进行排序比较的方法确定累计频次信息更高的索引字段为优选索引字段。例如,若所述多个第一索引为rl(a,b, c, d), r2 (a, c, d), r3 (b, d),首先获得多个第一索引各个字段的频次排序,得到a:2,b:2,c:2,d:3,字段累计频次最高的索引字段是d,则d为所选择的优选索引字段。
[0032]更优选地,所述索引处理设备I中所述将其中累计频次信息更高的索引字段确定为优选索引字段包括:根据所述累计频次信息,以及各索引字段的区分度信息,确定所述优选索引字段。
[0033]具体地,确定优选字段时,多种字段选择标准可以配合使用,当采用累计频次信息无法更准确地确定优选索引字段时,可以引入个索引字段的区分度信息作为字段选择标准来对索引字段继续进一步进行选择,直至选出更优的优选索引字段。例如,若所述多个第一索引为 si (a, b, c, d), s2 (a, c, d),s3 (b, c, d),s4(b, d),s5 (a, c),首先获得多个第一索引各个字段的频次排序,得到(1:4,(3:4,13:3,&:3,字段累计频次最高的索引字段是(1和(3,此时,可以引入各索引字段的区分度信息,取区分度更高的字段为所述优选索引字段。如,在上例中,字段累计频次最高的索引字段d和C,若d的字段区分度比C更高,则选取d为所述优选索引字段。
[0034]在此,更进一步,若在上例中,所述d和c的字段区分度一致,则可以取在第一索引中出现在前的字段作为优选索引字段,若是出现顺序也一致,则可以选择d和c中任一字段为所述优选字段。
[0035]优选地,所述索引处理设备I根据所述优选索引字段对所述多个第一索引中该优选索引字段所覆盖的第一索引进行合并处理包括:若所述优选索引字段所对应的索引效率超过索引效率阈值,将所述优选索引字段构成所述数据库对象的一个第二索引;否则,根据所覆盖的第一索引重新确定优选索引字段,并根据所述重新确定的优选索引字段对所述多个第一索引中所述重新确定的优选索引字段所覆盖的第一索引进行合并处理,以获得所述数据库对象的一个或多个第二索引。
[0036]具体地,对于初步选择确定的所述优选索引字段需要进行一定的验证判断,以保证利用所述优选索引字段对应的第二索引能够使得索引的利用效率较高。在此,可以设定并计算出所述优选索引字段的索引效率,并且设置相应的索引效率阈值,以此作为判断所述优选索引字段是否为所述第二索引所对应的字段的验证标准。其中,所述索引效率是判断索引使用效果优劣的一种综合标准,并包含了索引字段的区分度、利用率等多种信息的一种或多种作为具体判断标准,通过多种具体判断标准的综合指数来判断所述优选索引字段的优劣,所述索引效率阈值与所述索引字段的各个具体判断标准相对应。在此设定,若所述优选索引字段的索引效率超过所设定的索引效率阈值时,则判断所述优选索引字段为所述第二索引所对应的字段,进而,可以依据所述优选索引字段建立对应的所述数据库对象的一个或多个第二索引;若所述优选索引字段的索引效率小于所设定的索引效率阈值时,则基于所述优选索引字段所覆盖的第一索引,重新确定优选索引字段,并对所述重新确定优选索引字段所能够覆盖的新的一组第一索引进行合并处理,以获取相应的所述数据库对象的一个或多个第二索引。
[0037]例如,若si (a, b, c, d), s2 (a, c, d), s3 (b, c, d), s4 (b, d), s5 (a, c)为所述多个第一索引,依据所述累计频次信息,以及各索引字段的区分度信息,确定出所述优选索引字段为山所述优选索引字段d能够覆盖所述多个第一索引中的sl,s2, s3, s4。进而,设定所述索引效率包括索引字段的区分度信息,并定义与此区分度信息对应的索引效率阈值为字段区分度为70%。若所述字段d的区分度超过70%,则建议基于所述优选索引字段d建立相应的第二索引Ul (d);若所述字段d的区分度未超过70%,则基于所述优化索引字段d所能覆盖的第一索引重新确定优选索引字段,即,对于所述优化索引字段d所覆盖的sl (a, b, c,d), s2(a, c, d), s3 (b, c, d),s4(b, d),再次基于新的累计计频次信息,确定出新的优化索引字段为(d,C),并且所述新的优化索引字段(d,c)能够覆盖第一索引sl,s2,S3。进一步,设定所述新的优化索引字段(d,c)对应的索引效率包括索引字段的区分度信息,并定义与此区分度信息对应的索引效率阈值为字段区分度为70%。若所述优化索引字段d*c的区分度超过70%,则建议基于所述优选索引字段(d,c)建立相应的第二索引u2(d,c),在此,d*c的区分度表示以d和c为一逻辑字段的该逻辑字段的区分度。
[0038]本领域技术人员应能理解,上述采用计算优选索引字段的索引效率并设置相应的索引效率阈值的方法来判断优选索引字段是否为所述第二索引对应的索引字段仅为举例,其他方法如可适用本申请,也应包含在本申请的保护范围以内,并在此以引用方式包含于此。
[0039]更优选地,所述索引效率包括以下至少任一项:
[0040]索引字段的数量信息;
[0041]索引字段的区分度信息;
[0042]索引字段的利用率信息。
[0043]所述索引字段的数量信息指的是所确定的第二索引信息对应的优选索引字段的具体字段数,例如,若基于所述多个第一索引信息确定的优选索引字段为(a,b,c),则数量信息即为3。若所述索引效率包括所述索引字段的数量信息,则进一步设置一个相对应与所述索引字段数量信息的索引效率阈值,如,设置索引效率阈值为所述优选索弓I字段的数量为2个,则当优选索引字段的数量超过2时满足判断条件。上例中,所确定的优选索引字段为(a,b, c),其中字段数量为3个,超过索引效率阈值,满足验证标准,则建议基于所述优选索引字段(a,d,c)建立相应的第二索引。
[0044]所述索引字段的区分度信息的计算方法是字段区分度=该字段中所有不重复的记录数/该字段的总记录数。例如一个数据库表中的某一字段e,该字段的记录为1,2,3,1,则该字段中所有不重复的记录数为3条(即1,2,3),而总记录数为4条,进而字段区分度=3/4 = 75%。所述索引字段区分度越大,统一字段上对应的记录值差异性越大,其查找过滤不同信息的效果越好,通过该字段就能较好的区分各个记录,从而达到更好的索引效果。
[0045]所述索引字段的利用率信息的计算方法为字段利用率=字段频次/该数据库实体查询次数。
[0046]在此,所述索引效率是判断所述第二索引是否具有较高性能的一种综合判断标准。其中包含着多种索引字段信息,各种信息可以单独应用作为判断标准,也可以组合使用来验证优选索引字段。例如,对于所述多个第一索引信息确定的优选索引字段(a,b,c),设置索引效率包括字段的区分度信息和数量信息,并且,设置区分度信息对应的索引效率阈值为70%,设置索引字段的数量信息对应的索引效率阈值为2个,则应当依据所设定包含着两种具体判断标准的的索引效率所对应的综合的索引效率阈值来判断所述优选索弓I字段是否为所述第二索引对应的字段。
[0047]优选地,所述索引效率是基于所述优选索引字段中各索引字段的区分度信息与利用率信息加权确定的。
[0048]具体地,所述索引效率是评判索引效果的一个综合标准,可以包括多种关于索引字段的具体判断标准,在实际应用中,可以基于判断标准的效果对不同各个具体的判断标准设定一定的权重。通过加权运算得到对应的索引效率。在此,可以通过设置不同判断标准的权重来灵活选择所需要的判断标准。例如,对优选索引字段的各索引字段的区分度信息和利用率信息设置权重分别为A和B。因为所述多个第一索引是依据树形结构创建的,所以区分度越高,在数据库中越容易根据键值找到对应的记录,即效率越高。优选地,设定字段区分度的优先级最高。因此,A>B。对于优选索引字段,如字段a,若其对应的区分度信息和利用率信息分别为Ql和LI,则此时字段a的索引效率即为Q1*A+L1*B。又如,若对于所述优选索引字段只设定以区分度信息为标准,则此时只要在优选索引字段a的索引效率Q1*A+L1*B中设置A= I,且B = O即可。
[0049]在此,进一步,若优选索弓I字段对应的区分度信息和利用率信息的索引效率阈值分别设定为Q和L,则与索引效率相对应的综合的索引效率阈值为Q*A+L*B,将所述a的索引效率Q1*A+L1*B与所述索引效率阈值为Q*A+L*B进行比较,若索引效率超过所述索引效率阈值,则建议以所述优选索引字段a建立第二索引。
[0050]本领域技术人员应能理解,所述区分度信息或所述利用率信息仅为举例,若存在其他可用于确定索引效率的索引字段相关信息,也应包含在本申请的保护范围以内,并以引用方式包含于此。
[0051]图2示出根据本申请一个优选实施例的一种索引处理的设备示意图。索引处理设备I还包括第三装置203和第四装置204。以下参照图2对该优选实施例进行详细
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1