【技术实现步骤摘要】
查询数据的方法、数据节点、分布式数据库、计算设备
本申请涉及数据库领域,尤其涉及查询数据的方法、数据节点、分布式数据库、计算设备和计算机程序产品。
技术介绍
分布式数据库,支持SQL(StructuredQueryLanguage)语句的数据查询。该SQL语句可以包括NOTIN表达式。例如,该NOTIN表达式用于比较两张表中的指定列,一张表为待查询的外表,另一张表为用于与外表比较的内表;分布式数据库的所有数据节点(datanode,DN)会相互复制各自具有的内表的子内表,从而所有DN都具有整个内表的所有元组;然后,每个DN会将其具有的外表的子外表中的指定列与该DN上的整个外表按照NOTIN表达式进行比较,则比较结果为该外表中满足NOTIN表达式的元组。这种处理NOTIN表达式的解决方案,需要在所有DN之间相互复制各自具有的内表的子内表来形成完整的内表,该复制操作会占用大量带宽,并且,长时间的复制时间会影响查询效率。
技术实现思路
有鉴于此,本申请提供了一种查询数据的方法、数据节点、分布式数据库、计算设备和计算机程序产品,提高包含NOTIN表达式的SQL语句的查询效率。第一方面,本申请提供一种查询数据的方法。该方法应用于分布式数据库,分布式数据库包括协调节点和多个数据节点;该多个数据节点分别存储不同的子外表和不同的子内表;该多个数据节点中的一个或多个目标数据节点所存储的子内表具有目标元组,该目标元组在NOTIN表达式指定的一个或多个列为NULL值。在该方法中,该协调节 ...
【技术保护点】
1.一种查询数据的方法,其特征在于,所述方法应用于分布式数据库中,所述分布式数据库至少包括第一数据节点和第二数据节点;所述方法包括:/n所述第一数据节点和所述第二数据节点分别获取查询语句对应的执行计划,所述查询语句包含NOT IN表达式;/n基于所述执行计划,所述第二数据节点从本地的子内表所包含的多个元组中筛选出一个或多个目标元组,所述目标元组在所述NOT IN表达式指定的一个或多个列为NULL值;/n所述第二数据节点将所述第二数据节点的目标元组发送给所述第一数据节点;/n所述第一数据节点根据所述第一数据节点的子外表中的元组和所述第二数据节点的目标元组处理所述执行计划,以从所述第一数据节点的子外表获得满足所述NOT IN表达式的元组。/n
【技术特征摘要】
20191119 CN 20191113380141.一种查询数据的方法,其特征在于,所述方法应用于分布式数据库中,所述分布式数据库至少包括第一数据节点和第二数据节点;所述方法包括:
所述第一数据节点和所述第二数据节点分别获取查询语句对应的执行计划,所述查询语句包含NOTIN表达式;
基于所述执行计划,所述第二数据节点从本地的子内表所包含的多个元组中筛选出一个或多个目标元组,所述目标元组在所述NOTIN表达式指定的一个或多个列为NULL值;
所述第二数据节点将所述第二数据节点的目标元组发送给所述第一数据节点;
所述第一数据节点根据所述第一数据节点的子外表中的元组和所述第二数据节点的目标元组处理所述执行计划,以从所述第一数据节点的子外表获得满足所述NOTIN表达式的元组。
2.根据权利要求1所述的方法,其特征在于,所述分布式数据库还包括其它数据节点;
所述方法还包括:所述其它数据节点从本地的子内表所包含的多个元组中筛选出一个或多个目标元组,所述其它数据节点向所述第一数据节点发送所述其它数据节点的目标元组;
所述第一数据节点根据所述第一数据节点的子外表中的元组和所述第二数据节点的目标元组处理所述执行计划以从所述第一数据节点的子外表获得满足所述NOTIN表达式的元组,包括:所述第一数据节点根据所述第一数据节点的子外表中的元组和所述第二数据节点的目标元组以及所述其它数据节点的目标元组处理所述执行计划,以从所述第一数据节点的子外表获得满足所述NOTIN表达式的元组。
3.根据权利要求2所述的方法,其特征在于,所述第一数据节点根据所述第一数据节点的子外表中的元组和所述第二数据节点的目标元组以及所述其它数据节点的目标元组处理所述执行计划以从所述第一数据节点的子外表获得满足所述NOTIN表达式的元组,包括:
所述第一数据节点根据所述第一数据节点的子外表中的元组、所述第一数据节点的子内表中的元组、所述第二数据节点的目标元组和所述其它数据节点的目标元组处理所述执行计划,以从所述第一数据节点的子外表获得满足所述NOTIN表达式的元组。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述分布式数据库还包括协调节点;所述方法还包括:
所述第一数据节点向所述协调节点发送满足所述NOTIN表达式的元组。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述分布式数据库包含外表和内表,所述外表包括多个子外表,所述内表包括多个子内表;所述多个子外表分别位于所述分布式数据库的不同数据节点上,所述多个子内表分别位于所述分布式数据库的不同数据节点上;所述方法还包括:
所述分布式数据库的...
【专利技术属性】
技术研发人员:周兆琦,李茂增,冯欢,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。