System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据库领域,具体涉及一种数据库查询方法、装置、设备及介质。
技术介绍
1、在基于数据库进行查询的时候,需要基于算子执行查询语句,以得到所需要查询的数据。其中,可以采用多进程或者多线程的方式并行的执行算子,需要确定出算子的并行度;其中,并行度,指的是在基于数据库进行并行查询的过程中,所需要的进程数或线程数;基于算子的并行度执行算子,进而得到与查询语句对应的数据。
2、亟需一种可以确定出算子的并行度,以基于算子的并行度执行算子和查询语句的过程中,可以有效利用资源,提高资源利用率的方法。
技术实现思路
1、本申请提供一种数据库查询方法、装置、设备及介质,以解决相关技术中在进行数据库查询时系统资源利用率较低,进而影响数据库性能的问题。
2、第一方面,本申请提供一种数据库查询方法,包括:
3、响应于查询语句,确定执行所述查询语句时所需要的算子;其中,所述查询语句用于指示获取数据库中的待查询数据,所述查询语句为需采用并行查询的语句;
4、获取所述算子的可用资源信息和所述算子的第一并行度,其中,所述第一并行度表征执行算子时当前可使用的并行度;并根据所述算子的可用资源信息和所述算子的第一并行度,得到所述算子的第二并行度,其中,所述第二并行度表征实际执行算子的过程中所使用的并行度;
5、基于所述算子的第二并行度执行算子,得到并返回所述待查询数据。
6、上述方式中,基于算子所对应的可用资源信息,对算子所对应的并行度进行自
7、在一种可能的设计中,根据所述算子的可用资源信息和所述算子的第一并行度,得到所述算子的第二并行度,包括:
8、若确定所述算子的第一并行度大于预设阈值,则调用预设模型,并基于所述算子的可用资源信息、所述第一并行度以及所述预设模型,确定所述算子的第二并行度;其中,所述预设模型用于指示可用资源信息、第一并行度以及第二并行度三者之间的对应关系。
9、上述方式中,在基于算子的可用资源信息和第一并行度确定第二并行度时,若确定第一并行度大于预设阈值,此时可以直接根据预先设置的预设模型、可用资源信息以及第一并行度来确定第二并行度,进而通过上述方法,当第一并行度大于预设阈值时,可以基于算子的可用资源信息以及预设模型自适应的确定第二并行度,以便在执行该算子时,可以充分利用可用资源信息,进而提高资源利用效率并提高数据库性能。
10、在一种可能的设计中,所述预设模型所指示的对应关系满足以下条件:可用资源信息与差值结果呈负相关关系,并且第二并行度大于所述预设阈值;其中,所述差值结果用于指示第一并行度与第二并行度之间的差值。
11、上述方式中,当预设模型所表征的对应关系满足上述条件时,即可以根据算子的可用资源信息和第一并行度得到第二并行度,通过上述确定第二并行度的方式,可以充分利用资源信息,提高资源信息的利用率以及数据库性能。
12、在一种可能的设计中,所述方法还包括:
13、若确定所述第一并行度小于或等于所述预设阈值,则确定所述预设阈值为所述算子的第二并行度。
14、上述方式,可以提高算子的执行效率、系统的资源利用率以及数据库性能。
15、在一种可能的设计中,获取所述算子的第一并行度,包括:
16、获取所述查询语句的第三并行度,其中,第三并行度用于指示执行所述查询语句时可使用的并行度;
17、确定第四并行度,其中,所述第四并行度为已处理完的算子的第二并行度的累积,并基于所述第三并行度和所述第四并行度,确定当前待处理的算子的第一并行度。
18、上述方式中,可以通过查询语句所对应的第三并行度以及已确定出第二并行度的各个算子所对应的第四并行度,来确定当前待处理的算子的第一并行度,进而可以合理利用资源,提高数据库性能。
19、在一种可能的设计中,确定第四并行度,并基于所述第三并行度和所述第四并行度,确定当前待处理的算子的第一并行度,包括:
20、确定已处理完的各算子的第二并行度的乘积,为所述第四并行度;
21、确定所述第三并行度与所述第四并行度的商,为当前待处理的算子的第一并行度。
22、上述方式中,通过查询语句所对应的第三并行度以及已确定出第二并行度的各个算子所对应的第四并行度,来确定当前待处理的算子的第一并行度,进而可以合理利用资源,提高数据库性能。
23、在一种可能的设计中,在确定执行所述查询语句时所需要的算子之前,还包括:
24、获取所述数据库的状态信息;
25、根据所述数据库的状态信息,确定第三并行度,其中,第三并行度用于指示执行所述查询语句时可使用的并行度;
26、若确定所述第三并行度大于或等于预设值,则确定所述查询语句为需采用并行查询的语句。
27、上述方式中,在确定查询语句是否采用并行查询方式执行时,可以通过获取数据库的状态信息来确定用于表征执行整个查询语句时可使用的并行度,即第三并行度,当第三并行度大于或等于预设值时,则可以采用并行查询的方式来执行该查询语句,进而通过上述方式可以提高查询语句的执行效率。
28、在一种可能的设计中,若所述数据库的状态信息包括数据库的最大并发连接数、数据库的当前并发连接数以及数据库的当前会话数;则根据所述数据库的状态信息,确定第三并行度,包括:
29、确定所述数据库的最大并发连接数与所述数据库的当前并发连接数的差值,为所述数据库的当前可用并发连接数;
30、确定所述数据库的当前可用并发连接数与所述数据库的当前会话数的商值,为待处理的并行度;
31、根据所述待处理的并行度和预设的第五并行度,确定所述第三并行度;其中,所述第五并行度表征执行所述查询语句时用户所指定的并行度。
32、上述方式中,通过选择数据库的最大并发连接数、数据库的当前并发连接数以及数据库的当前会话数作为数据库的状态信息来确定查询语句所对应的第三并行度,可以提高第三并行度确定的准确性,进而有利于提高查询语句的查询效率、数据库所对应的资源利用率以及数据库性能。
33、在一种可能的设计中,根据所述待处理的并行度和预设的第五并行度,确定所述第三并行度,包括:
34、若确定存在所述预设的第五并行度,则确定所述待处理的并行度与预设的第五并行度中的最小值,为所述第三并行度。
35、上述方式中,通过选择第五并行度与待处理的并行度之间的较小值作为第三并行度,以便在满足用户要求的前提下,可以充分利用资源信息,提高资源利用率以及数据库性能。
36、在一种可能的设计中,所述方法还包括:
37、若确定不存在所述预设的第五并行度,则确定待处理的并行度为所述第三并行度。
38、上述方式中,在确定第三并行度时,会本文档来自技高网...
【技术保护点】
1.一种数据库查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述算子的可用资源信息和所述算子的第一并行度,得到所述算子的第二并行度,包括:
3.根据权利要求2所述的方法,其特征在于,所述预设模型所指示的对应关系满足以下条件:可用资源信息与差值结果呈负相关关系,并且第二并行度大于所述预设阈值;其中,所述差值结果用于指示第一并行度与第二并行度之间的差值。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1-4中任一项所述的方法,其特征在于,获取所述算子的第一并行度,包括:
6.根据权利要求5所述的方法,其特征在于,确定第四并行度,并基于所述第三并行度和所述第四并行度,确定当前待处理的算子的第一并行度,包括:
7.根据权利要求1-6中任一项所述的方法,其特征在于,在确定执行所述查询语句时所需要的算子之前,还包括:
8.根据权利要求7所述的方法,其特征在于,若所述数据库的状态信息包括数据库的最大并发连接数、数据库的当前并发连接数以及数据库的当前会话
9.根据权利要求8所述的方法,其特征在于,根据所述待处理的并行度和预设的第五并行度,确定所述第三并行度,包括:
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
11.根据权利要求1-10中任一项所述的方法,其特征在于,获取所述算子的可用资源信息,包括:
12.根据权利要求11所述的方法,其特征在于,确定所述数据库的历史时刻下的可用资源信息,包括:
13.根据权利要求11所述的方法,其特征在于,获取所述算子的可用资源信息,包括:
14.根据权利要求1-13中任一项所述的方法,其特征在于,所述可用资源信息包括以下信息中的一种或多种:中央处理器的空闲资源信息、内存空间的剩余信息、输入/输出的空闲资源信息。
15.根据权利要求1-14中任一项所述的方法,其特征在于,所述方法还包括:
16.一种数据库查询装置,其特征在于,包括:
17.根据权利要求16所述的装置,其特征在于,第二确定单元,包括:
18.根据权利要求17所述的装置,其特征在于,所述预设模型所指示的对应关系满足以下条件:可用资源信息与差值结果呈负相关关系,并且第二并行度大于所述预设阈值;其中,所述差值结果用于指示第一并行度与第二并行度之间的差值。
19.根据权利要求17所述的装置,其特征在于,所述装置还包括:
20.根据权利要求16-19中任一项所述的装置,其特征在于,第二获取单元,包括:
21.根据权利要求20所述的装置,其特征在于,第三确定模块,具体用于:
22.根据权利要求16-21中任一项所述的装置,其特征在于,所述装置还包括:
23.根据权利要求22所述的装置,其特征在于,若所述数据库的状态信息包括数据库的最大并发连接数、数据库的当前并发连接数以及数据库的当前会话数,则第四确定单元,包括:
24.根据权利要求23所述的装置,其特征在于,第六确定模块,具体用于:
25.根据权利要求24所述的装置,其特征在于,所述装置还包括:
26.根据权利要求16-25中任一项所述的装置,其特征在于,第一获取单元,包括:
27.根据权利要求26所述的装置,其特征在于,第八确定模块,具体用于:
28.根据权利要求26所述的装置,其特征在于,第一获取单元,包括:
29.根据权利要求16-28中任一项所述的装置,其特征在于,所述可用资源信息包括以下信息中的一种或多种:中央处理器的空闲资源信息、内存空间的剩余信息、输入/输出的空闲资源信息。
30.根据权利要求16-29中任一项所述的装置,其特征在于,所述装置还包括:
31.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
32.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-15中任一项所述的方法。
33.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-15中任一项所述的方法。
...【技术特征摘要】
1.一种数据库查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述算子的可用资源信息和所述算子的第一并行度,得到所述算子的第二并行度,包括:
3.根据权利要求2所述的方法,其特征在于,所述预设模型所指示的对应关系满足以下条件:可用资源信息与差值结果呈负相关关系,并且第二并行度大于所述预设阈值;其中,所述差值结果用于指示第一并行度与第二并行度之间的差值。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1-4中任一项所述的方法,其特征在于,获取所述算子的第一并行度,包括:
6.根据权利要求5所述的方法,其特征在于,确定第四并行度,并基于所述第三并行度和所述第四并行度,确定当前待处理的算子的第一并行度,包括:
7.根据权利要求1-6中任一项所述的方法,其特征在于,在确定执行所述查询语句时所需要的算子之前,还包括:
8.根据权利要求7所述的方法,其特征在于,若所述数据库的状态信息包括数据库的最大并发连接数、数据库的当前并发连接数以及数据库的当前会话数,则根据所述数据库的状态信息,确定第三并行度,包括:
9.根据权利要求8所述的方法,其特征在于,根据所述待处理的并行度和预设的第五并行度,确定所述第三并行度,包括:
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
11.根据权利要求1-10中任一项所述的方法,其特征在于,获取所述算子的可用资源信息,包括:
12.根据权利要求11所述的方法,其特征在于,确定所述数据库的历史时刻下的可用资源信息,包括:
13.根据权利要求11所述的方法,其特征在于,获取所述算子的可用资源信息,包括:
14.根据权利要求1-13中任一项所述的方法,其特征在于,所述可用资源信息包括以下信息中的一种或多种:中央处理器的空闲资源信息、内存空间的剩余信息、输入/输出的空闲资源信息。
15.根据权利要求1-14中任一项所述的方法,其特征在于,所述方法还包括:
16.一种数据库查询装置,其特征在于,包括:
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。