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

文档序号:8472964阅读:来源:国知局
一查询 条件中所述N个表中每个表内的选择条件,以及所述第M对应关系中所述第M标识对应所 述第M+1标识的次数,获取所述第一查询结果。基于本发明实施例提供的表间关联查询方 法和装置,由于在获取查询指示消息之后,根据所述查询指示消息中携带的第一查询条件 中所述N个表中第M表的主键值与第M+1表的外键值之间的关联关系,建立了所述第M表 与所述第M+1表的第M对应关系,并且所述第M对应关系中包含第M标识对应所述第M+1 标识的次数,使得在根据查询指示消息中携带的N个表中每个表内的选择条件获得每个表 内相应的查询结果之后,可以根据所述第M对应关系中所述第M标识对应所述第M+1标识 的次数,在该查询结果的基础上快速得到第一查询结果,无需进行join操作对查询结果依 次进行遍历,减小了表间关联查询的时间,提高了查询速度,进而提升了查询性能。 【附图说明】
[0083] 图1为本发明实施例一提供的一种表间关联查询方法流程示意图;
[0084] 图2为本发明实施例一提供的一种第一对应关系不例图;
[0085] 图3为本发明实施例二提供的一种表间关联查询方法流程示意图;
[0086] 图4为本发明实施例二提供的一种对应图3表间关联查询方法的实例方法流程 图;
[0087] 图5为本发明实施例二提供的一种对应图4实例方法流程图的数据流示意图;
[0088] 图6为本发明实施例二提供的另一种表间关联查询方法流程示意图;
[0089] 图7为本发明实施例二提供的一种对应图6表间关联查询方法的实例方法流程 图;
[0090] 图8为本发明实施例二提供的一种对应图7实例方法流程图的数据流示意图;
[0091] 图9为本发明实施例二提供的另一种对应图6表间关联查询方法的实例方法流程 图;
[0092] 图10为本发明实施例二提供的一种对应图9实例方法流程图的数据流示意图;
[0093] 图11为本发明实施例三提供的一种表间关联查询装置结构示意图一;
[0094] 图12为本发明实施例三提供的一种表间关联查询装置结构示意图二;
[0095] 图13为本发明实施例三提供的一种表间关联查询装置结构示意图三;
[0096] 图14为本发明实施例三提供的一种表间关联查询装置结构示意图四;
[0097] 图15为本发明实施例四提供的一种表间关联查询装置结构示意图。 【具体实施方式】
[0098] 在数据库中表做join操作时,2个表存在I:N的关系,其中"N"对应的表称为join 操作中的"大表","1"对应的表称为join操作中的小表,此定义适用于本发明下述各实施 例。
[0099] 假设存在如下两表:
[0100] 表a!customer(c_custkey,c_name,primarykey(c_custkey)),
[0101] 表b:orders(o_orderkey,o_custkey,o_orderdate,primarykey(o_orderkey),
[0102] foreignkey(o_custkey)REFERENCEScustomer(o_custkey));
[0103] 其中表a与表b的数据分别如下:
[0104] 需要说明的是,表a中可能存在不止c_name-个属性,表b中可能存在不止〇_ orderdate-个属性,两表中均可能存在其它属性,此处仅是示例性列举其中一个属性进行 举例说明,对表中属性不作具体限定。
【主权项】
1. 一种表间关联查询方法,其特征在于,所述方法包括: 获取查询指示消息,所述查询指示消息携带第一查询条件,指示根据所述第一查询 条件在N个表中获取第一查询结果,其中,所述第一查询条件包括:所述N个表中每个表 内的选择条件、以及所述N个表中第M表的主键值与第M+1表的外键值之间的关联关系, 1彡M彡N-I,为整数,所述第一表至所述第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标识的次数,获取所述第一查询结果。
2. 根据权利要求1所述的方法,其特征在于,所述根据所述第一查询条件中所述N个表 中每个表内的选择条件,以及所述第M对应关系中所述第M标识对应所述第M+1标识的次 数,获取所述第一查询结果包括: 根据所述第一查询条件中第一表内的选择条件,查询所述第一表,并获得第一集合,其 中,所述第一集合中包含满足所述第一表内的选择条件的表项的第一标识; 根据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,获取所述第一查询结 果。
3. 根据权利要求2所述的方法,其特征在于,所述根据所述第2M-1集合、所述第2M+1 集合、以及所述更新后的TM,获取所述第一查询结果包括: 若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)-l集合中每个第K-i标 识对应所述第2K集合中的第K+1标识的次数,其中,1彡i彡K-I,为整数; 根据第N结果,所述更新后的T(N-I)以及所述第2M-1集合、所述第2M+1集合,获取 所述第一查询结果。
4. 根据权利要求1所述的方法,其特征在于,所述根据所述第一查询条件中所述N个表 中每个表内的选择条件,以及所述第M对应关系中所述第M标识对应所述第M+1标识的次 数,获取所述第一查询结果包括: 根据所述第一查询条件中第一表内的选择条件,查询所述第一表,并获得第一集合,其 中,所述第一集合中包含满足所述第一表内的选择条件的表项的第一标识; 根据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,获取所述第一查询结 果。
5. 根据权利要求4所述的方法,其特征在于,所述根据所述第3M-2集合、所述第3M+1 集合以及所述更新后的TM,获取所述第一查询结果包括: 若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结果,所述更
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1