一种表间关联查询方法和装置的制造方法_4

文档序号:8472964阅读:来源:国知局
新后的T(N-I)以及所述第3M-2集合、所述第3M+1集合,获取 所述第一查询结果。
6. 根据权利要求1-5任一项所述的方法,其特征在于,所述第M对应关系包括: 所述第M标识与所述第M标识对应所述第M+1标识的次数的对应关系、所述第M+1标 识与所述第M标识对应的主键值的哈希链表。
7. 根据权利要求1-5任一项所述的方法,其特征在于,在所述根据所述第一查询条件 中所述N个表中第M表的主键值与第M+1表的外键值之间的关联关系,建立所述第M表与 所述第M+1表的第M对应关系之前,还包括: 确定所述第M+1表中外键值相同的表项的第M+1标识是否连续; 若所述第M+1表中外键值相同的表项的第M+1标识不连续,对所述第M+1表中的表项 进行排序,以使得所述第M+1表中外键值相同的表项的第M+1标识连续; 所述第M对应关系包括: 所述第M标识与所述第M标识对应所述第M+1标识的次数的对应关系、所述第M标识 与所述第M标识对应的第一个第M+1标识的对应关系。
8. -种表间关联查询装置,其特征在于,所述装置包括消息获取单元、关系建立单元、 结果获取单元; 所述消息获取单元,用于获取查询指示消息,所述查询指示消息携带第一查询条件,指 示根据所述第一查询条件在N个表中获取第一查询结果,其中,所述第一查询条件包括:所 述N个表中每个表内的选择条件、以及所述N个表中第M表的主键值与第M+1表的外键值 之间的关联关系,1彡M彡N-1,为整数,所述第一表至所述第N表为所述N个表中由小至大 排序的表; 所述关系建立单元,用于根据所述消息获取单元获取的查询指示消息中携带的第一查 询条件中所述N个表中第M表的主键值与第M+1表的外键值之间的关联关系,建立所述第M 表与所述第M+1表的第M对应关系,所述第M对应关系中包含第M标识的信息、与所述第M 标识相对应的第M+1标识的信息、所述第M标识对应所述第M+1标识的次数,其中,所述第 M标识为所述第M表中的表项序号,所述第M+1标识为所述第M+1表中的表项序号; 所述结果获取单元,用于根据所述消息获取单元获取的查询指示消息中携带的第一查 询条件中所述N个表中每个表内的选择条件,以及所述关系建立单元建立的所述第M对应 关系中所述第M标识对应所述第M+1标识的次数,获取所述第一查询结果。
9. 根据权利要求8所述的装置,其特征在于,所述结果获取单元包括查询模块、第一执 行模块、第一获取模块; 所述查询模块,用于根据所述消息获取单元获取的查询指示消息中携带的第一查询条 件中第一表内的选择条件,查询所述第一表,并获得第一集合,其中,所述第一集合中包含 满足所述第一表内的选择条件的表项的第一标识; 所述第一执行模块,用于根据M的取值,循环执行步骤S1-S3,直至M的取值全部执行完 毕: 51、 根据所述关系建立单元建立的所述第M对应关系和第2M-1集合,确定第2M集合, 以及所述第2M-1集合中的每个第M标识对应所述第2M集合中的第M+1标识的次数TM,其 中,所述第2M集合中包含与所述第2M-1集合中的第M标识相对应的第M+1标识; 52、 根据所述第一查询条件中的第M+1表内的选择条件,查询第M+1表内第2M集合中 的第M+1标识对应的表项,并获取第2M+1集合,其中,所述第2M+1集合中包含满足所述第 M+1表内选择条件的表项的第M+1标识; 53、 根据所述第2M+1集合,更新所述TM; 所述第一获取模块,用于根据所述第2M-1集合、所述第2M+1集合、以及所述更新后的TM,获取所述第一查询结果。
10. 根据权利要求9所述的装置,其特征在于,所述第一获取模块具体用于: 若N=2,根据所述第一集合,所述第三集合,以及所述更新后的T1,获取所述第一查询 结果; 若N> 2,根据K的取值,循环执行步骤L1,直至K的取值全部执行完毕,其中, 2彡K彡N-1,为整数: LU根据第K结果,所述更新后的TK以及所述更新后的T(K-1),获取第K+1结果,其 中,第二结果为初始化值0,所述第K+1结果中包含所述第2 (K-i)-1集合中每个第K-i标 识对应所述第2K集合中的第K+1标识的次数,其中,1彡i彡K-I,为整数; 根据第N结果,所述更新后的T(N-I)以及所述第2M-1集合、所述第2M+1集合,获取 所述第一查询结果。
11. 根据权利要求8所述的装置,其特征在于,所述结果获取单元包括查询模块、第二 执行模块、第二获取模块; 所述查询模块,用于根据所述消息获取单元获取的查询指示消息中携带的第一查询条 件中第一表内的选择条件,查询所述第一表,并获得第一集合,其中,所述第一集合中包含 满足所述第一表内的选择条件的表项的第一标识; 所述第二执行模块,用于根据M的取值,循环执行步骤S1-S4,直至M的取值全部执行完 毕: 51、 根据所述第M对应关系和第3M-2集合,确定第3M-1集合,以及所述第3M-2集合中 的每个第M标识对应所述第3M-1集合中的第M+1标识的次数TM,其中,所述第3M-1集合中 包含与所述第3M-2集合中的第M标识相对应的第M+1标识; 52、 根据所述第一查询条件中的第M+1表内的选择条件,查询第M+1表,并获取第3M集 合,其中,所述第3M集合中包含满足所述第M+1表内选择条件的表项的第M+1标识; 53、 根据所述第3M-1集合和所述第3M集合,获取第3M+1集合,其中,所述第3M+1集合 包含满足所述第M+1表内选择条件且对应第M标识的表项满足所述第M表内选择条件的表 项的第M+1标识; 54、 根据所述第3M+1集合,更新所述TM; 所述第二获取模块,用于根据所述第3M-2集合、所述第3M+1集合以及所述更新后的TM,获取所述第一查询结果。
12. 根据权利要求11所述的装置,其特征在于,所述第二获取模块具体用于: 若N=2,根据所述第一集合,所述第四集合,以及所述更新后的T1,获取所述第一查询 结果; 若N> 2,根据K的取值,循环执行步骤L1,直至K的取值全部执行完毕,其中, 2彡K彡N-1,为整数: LU根据第K结果,所述更新后的TK以及所述更新后的T(K-1),获取第K+1结果,其 中,第二结果为初始化值0,所述第K+1结果中包含所述第3 (K-i)-2集合中每个第K-i标 识对应所述第3K-1集合中的第K+1标识的次数,其中,1彡i彡K-I,为整数; 根据第N结果,所述更新后的T(N-I)以及所述第3M-2集合、所述第3M+1集合,获取 所述第一查询结果。
13. 根据权利要求8-12任一项所述的装置,其特征在于,所述第M对应关系包括: 所述第M标识与所述第M标识对应所述第M+1标识的次数的对应关系、所述第M+1标 识与所述第M标识对应的主键值的哈希链表。
14. 根据权利要求8-12任一项所述的装置,其特征在于,所述装置还包括确定单元、排 序单元; 所述确定单元,用于在所述关系建立单元根据所述消息获取单元获取的查询指示消息 中携带的第一查询条件中所述N个表中第M表的主键值与第M+1表的外键值之间的关联关 系,建立所述第M表与所述第M+1表的第M对应关系之前,确定所述第M+1表中外键值相同 的表项的第M+1标识是否连续; 所述排序单元,用于若所述确定单元确定所述第M+1表中外键值相同的表项的第M+l标识不连续,对所述第M+1表中的表项进行排序,以使得所述第M+1表中外键值相同的表项 的第M+1标识连续; 所述第M对应关系包括: 所述第M标识与所述第M标识对应所述第M+1标识的次数的对应关系、所述第M标识 与所述第M标识对应的第一个第M+1标识的对应关系。
15. -种表间关联查询装置,其特征在于,所述装置包括处理器与存储器,所述存储器 与所述处理器通信,所述存储器中存储程序代码,且所述处理器用于调用所述存储器中存 储的程序代码,执行如权利要求1-7任一项所述的方法。
【专利摘要】本发明提供一种表间关联查询方法和装置,能够减小表间关联查询的时间,提高表间关联查询速度。方法包括:获取查询指示消息,所述查询指示消息携带第一查询条件,指示根据所述第一查询条件在N个表中获取第一查询结果;根据所述第一查询条件中所述N个表中第M表的主键值与第M+1表的外键值之间的关联关系,建立所述第M表与所述第M+1表的第M对应关系;根据所述第一查询条件中所述N个表中每个表内的选择条件,以及所述第M对应关系中所述第M标识对应所述第M+1标识的次数,获取所述第一查询结果。本发明适用于计算机领域。
【IPC分类】G06F17-30
【公开号】CN104794130
【申请号】CN201410026270
【发明人】时家幸, 黄乐
【申请人】华为技术有限公司
【公开日】2015年7月22日
【申请日】2014年1月20日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1