System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据查询方法、系统、设备集群、介质以及程序产品技术方案_技高网

数据查询方法、系统、设备集群、介质以及程序产品技术方案

技术编号:42202664 阅读:19 留言:0更新日期:2024-07-30 18:48
本公开的实施例提供了一种数据库查询方法、系统、设备集群、介质以及程序产品。在本公开的实施例中,第一计算节点响应于接收到针对目标数据的第一查询请求,收集与目标数据相关的统计信息;第一计算节点将收集的统计信息作为第一统计信息存储于第一共享内存中,以更新第一共享内存中的全局统计信息;以及将第一统计信息发送给第二计算节点,以由第二计算节点存储于第二共享内存中来更新第二共享内存中的全局统计信息,其中全局统计信息被用于针对包括多个计算节点的系统的查询请求查询统计信息,其中多个计算节点包括第一计算节点和第二计算节点。由此,能够在保证统计信息的时效性的同时,避免大量的重复收集而显著地减少了计算开销。

【技术实现步骤摘要】

本公开总体上涉及计算机,更特别地涉及一种数据查询方法、数据查询系统、计算设备集群、计算机可读存储介质以及计算机程序产品。


技术介绍

1、随着大数据的快速发展和计算能力的显著提升,数据库中的数据更新数量更为庞大。在数据库领域中,为了更准确地查询到目标数据,通常采用优化器来生成最优的执行计划,以基于最优的执行计划,对于目标数据进行查询。目前,优化器主要包括两种类型——基于规则的优化器(rbo,rule based optimizer)和基于成本的优化器(cbo,cost basedoptimizer)。在基于规则的优化器中,数据库基于预先编码的多组内置规则,选择最优的执行计划,例如优先使用唯一约束或主键来定位存储单元、优先使用哈希索引等。在基于成本的优化器中,数据库通过针对目标数据的可能的全部执行计划进行成本估算,基于最小的估算成本,选择最优的执行计划,例如成本估算可以考虑计算设备为目标数据进行计算处理的开销和输入输出设备为目标数据进行通信处理的开销。


技术实现思路

1、根据本公开的一些实施例,提供了一种数据查询方法、数据查询系统、计算设备集群、计算机可读存储介质以及计算机程序产品。

2、在本公开的第一方面,提供了一种数据查询方法。所述方法由包括多个计算节点的系统执行,所述系统包括第一计算节点和第二计算节点,所述第一计算节点包括第一共享内存,所述第二计算节点包括第二共享内存。所述方法包括:所述第一计算节点响应于接收到针对目标数据的第一查询请求,收集与目标数据相关的统计信息;所述第一计算节点将收集的所述统计信息作为第一统计信息存储于所述第一共享内存中,以更新所述第一共享内存中的全局统计信息;以及将所述第一统计信息发送给所述第二计算节点,以由所述第二计算节点存储于所述第二共享内存中来更新所述第二共享内存中的全局统计信息,其中所述全局统计信息被用于针对所述系统的查询请求查询统计信息。根据本公开的实施例,由于在特定计算节点上针对目标数据的查询所收集的统计信息能够共享给其他计算节点,从而能够在保证统计信息的时效性的同时,避免大量的重复收集而显著地减少了计算开销。

3、在一些实施例中,收集与目标数据相关的统计信息还包括:所述第一计算节点响应于接收到针对目标数据的第一查询请求,确定与所述目标数据相关的数据表的语句执行计数是否超过预定阈值;所述第一计算节点响应于确定针对所述语句执行计数超过所述预定阈值,收集所述第一统计信息。在一些实施例中,所述第一计算节点基于所述第一统计信息,生成目标执行计划;以及所述第一计算节点执行以下中的至少一项:提示针对所述目标数据新收集了所述第一统计信息;提示所述目标执行计划是基于针对所述目标数据新收集的所述第一统计信息生成的;提示所述目标执行计划中包括的与所述目标数据相关的第一统计信息的条数;以及提示所述目标执行计划中针对所述目标数据新收集的统计信息的条数。由此,能够获知计算节点是否针对查询请求中的目标数据,收集了最新的统计信息及其具体内容。

4、在一些实施例中,所述方法还包括:所述第一计算节点针对所述目标数据,基于所述目标执行计划,生成执行结果;所述第一计算节点响应于生成所述执行结果,针对所述第一查询请求,执行事务提交;所述第一计算节点响应于执行所述事务提交,基于所述第一统计信息在所述第一共享内存中的指针更新所述第一共享内存中的全局统计信息;所述第一计算节点响应于执行所述事务提交,向所述第二计算节点发送关于所述事务提交的指示;以及所述第二计算节点响应于从所述第一计算节点接收到关于所述事务提交的指示,更新所述第二共享内存中的全局统计信息。在一些实施例中,所述方法还包括:所述第一计算节点响应于接收到针对所述目标数据的第二查询请求,确定与所述目标数据相关的数据表的语句执行计数是否超过所述预定阈值;所述第一计算节点响应于所述语句执行计数未超过所述预定阈值,查询所述第一统计信息;以及所述第一计算节点基于查询到的所述第一统计信息,生成目标执行计划,其中针对所述第二查询请求生成的目标执行计划与针对所述第一查询请求生成的目标执行计划实质上相同。由此,在当前计算节点已经基于该计算节点收集的关于目标数据的统计信息更新了全局统计信息之后,再又接收到关于目标数据的另一查询请求的情形下,如果关于目标数据的统计信息时效性较好,则当前计算节点可以无需再行收集统计信息,而能够直接使用最新的统计信息,从而有效地提高了数据库的查询效率。

5、在一些实施例中,查询第一统计信息还包括:所述第一计算节点从所述第一本地内存中查询所述第一统计信息;所述第一计算节点响应于从所述第一本地内存中未查询到所述第一统计信息,从第一后台作业内存中查询所述第一统计信息;所述第一计算节点响应于从第二后台作业内存中未查询到所述第一统计信息,从所述第一共享内存中查询所述第一统计信息,例如从所述第一共享内存的全局统计信息中查询所述第一统计信息;以及所述第一计算节点响应于从所述第一共享内存中未查询到所述第一统计信息,从第二后台作业内存中查询所述第一统计信息。在一些实施例中,查询第一统计信息还包括:所述第一计算节点从所述第一本地内存中查询所述第一统计信息;所述第一计算节点响应于从所述第一本地内存中未查询到所述第一统计信息,从所述第一共享内存中查询所述第一统计信息,例如从所述第一共享内存的全局统计信息中查询所述第一统计信息;以及所述第一计算节点响应于从所述第一共享内存中未查询到所述第一统计信息,从第二后台作业内存中查询所述第一统计信息。由此,能够分层的查询统计信息,优先地且快速地查询到时效性最新的统计信息,从而提高数据库的查询效率。

6、在一些实施例中,所述第一计算节点还执行第一后台作业线程,所述方法还包括:所述第一计算节点针对所述第一后台作业进程,分配第一后台作业内存;以及在所述第一后台作业内存中,存储由所述第一计算节点收集的统计信息在所述第一共享内存中的指针和所述第一计算节点从所述多个计算节点中的其他计算节点接收的统计信息在所述第一共享内存中的指针。由此,通过第一后台作业进行将各个计算节点的统计信息存放到被分配的第一后台作业内存中的无锁队列中,不会对于当前查询进程造成影响,从而避免了对于第一计算节点的整体性能的影响。

7、在一些实施例中,所述第一计算节点还执行第二后台作业线程,所述方法还包括:所述第一计算节点针对所述第二后台作业进程,分配所述第二后台作业内存;所述第二后台作业进程以预定时间检查针对所述统计信息系统表中的各个数据表的语句执行计数是否超过第二预定阈值;针对所述统计信息系统表中语句执行计数超过所述第二预定阈值的数据表,收集与该数据表相关的统计信息;以及基于收集的与该数据表相关的所述统计信息,更新统计信息系统表,其中统计信息系统表存储于所述第二后台作业内存中。由此,通过第二后台作业以轮询的方式检查数据表的统计信息,能够避免由于相关数据长时间未被查询而导致的时效性较差。

8、在一些实施例中,所述方法还包括:所述第一计算节点响应于接收到针对目标数据的第一查询请求确定所述语句执行计数本文档来自技高网...

【技术保护点】

1.一种数据查询方法,其特征在于,所述方法由包括多个计算节点的系统执行,所述系统包括第一计算节点和第二计算节点,所述第一计算节点包括第一共享内存,所述第二计算节点包括第二共享内存,所述方法包括:

2.根据权利要求1所述的数据查询方法,其特征在于,收集与目标数据相关的统计信息还包括:

3.根据权利要求2所述的数据查询方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的数据查询方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的数据查询方法,其特征在于,查询第一统计信息还包括:

7.根据权利要求5所述的数据查询方法,其特征在于,查询第一统计信息还包括:

8.根据权利要求1所述的数据查询方法,其特征在于,所述第一计算节点还执行第一后台作业线程,所述方法还包括:

9.根据权利要求1所述的数据查询方法,其特征在于,所述第一计算节点还执行第二后台作业线程,所述方法还包括:

10.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:

11.根据权利要求1所述的数据查询方法,其特征在于,所述语句执行计数指示针对与目标数据相关的数据表执行插入语句、删除语句、修改语句之后发生变化的记录的条数。

12.根据权利要求1所述的数据查询方法,其特征在于,在所述第一共享内存中还存储所述第一统计信息在所述第一共享内存中的指针,其中更新所述第一共享内存中的全局统计信息包括:

13.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:

14.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:

15.根据权利要求14所述的数据查询方法,其特征在于,所述方法还包括:

16.根据权利要求15所述的数据查询方法,其特征在于,所述方法还包括:

17.根据权利要求15所述的数据查询方法,其特征在于,所述方法还包括:

18.一种数据查询系统,其特征在于,所述数据查询系统包括多个计算节点,所述多个计算节点包括第一计算节点和第二计算节点,所述第一计算节点包括第一共享内存,所述第二计算节点包括第二共享内存,并且所述数据查询系统包括数据查询装置,所述数据查询装置包括:

19.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器,所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行根据权利要求1至17中任一项所述的方法。

20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,所述指令在被计算设备执行时,使得所述计算设备执行根据权利要求1至17中任一项所述的方法。

21.一种计算机程序产品,其特征在于,所述计算机程序产品包括指令,所述指令在被计算设备执行时,使得所述计算设备执行根据权利要求1至17中任一项所述的方法。

...

【技术特征摘要】

1.一种数据查询方法,其特征在于,所述方法由包括多个计算节点的系统执行,所述系统包括第一计算节点和第二计算节点,所述第一计算节点包括第一共享内存,所述第二计算节点包括第二共享内存,所述方法包括:

2.根据权利要求1所述的数据查询方法,其特征在于,收集与目标数据相关的统计信息还包括:

3.根据权利要求2所述的数据查询方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的数据查询方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的数据查询方法,其特征在于,查询第一统计信息还包括:

7.根据权利要求5所述的数据查询方法,其特征在于,查询第一统计信息还包括:

8.根据权利要求1所述的数据查询方法,其特征在于,所述第一计算节点还执行第一后台作业线程,所述方法还包括:

9.根据权利要求1所述的数据查询方法,其特征在于,所述第一计算节点还执行第二后台作业线程,所述方法还包括:

10.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:

11.根据权利要求1所述的数据查询方法,其特征在于,所述语句执行计数指示针对与目标数据相关的数据表执行插入语句、删除语句、修改语句之后发生变化的记录的条数。

12.根据权利要求1所述的数据查询方法,其特征在于,在所述第一共享内存中还存储所述第一统计信息在所述第一共享内存...

【专利技术属性】
技术研发人员:王跃
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1