System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据库查询,尤其是涉及一种数据库查询方法、装置及数据库查询系统。
技术介绍
1、mysql是一个关系型数据库管理系统,也是当前最流行的关系型数据库管理系统之一,在程序运行过程中,通常都会选择将数据存储在mysql的库表中。
2、目前,在使用mysql进行数据存储时,由于数据量较小,往往一个数据库便可以满足存储的需求。
3、但由于光伏逆变器的数据量较大,往往一个数据库中无法保存完整的数据,这时就需要分库分表去保存。
4、但在查表时,还是采用相关技术中的单个表逐个查询的方式,也即,先查询第一个数据库,找到数据后便输出,然后再去查询第二个数据库,依次类推,直到查询完所有的数据库。
5、然而,专利技术人认识到,针对上述中的相关技术,专利技术人认为存在缺陷有:在分库分表中依然采取相关技术中单库单表的查询方式,需要不断的根据查询条件去每一个表中进行查询并输出,这样就会使得查询效率较低。
技术实现思路
1、本申请一个或者多个实施例提供一种数据库查询方法、装置及数据库查询系统,以解决或者至少部分上缓解相关技术中的在分库分表中查询时效率较低问题。
2、本申请的第一方面,提供一种数据库查询方法,采用如下的技术方案为:
3、接收查询指令,所述查询指令包括:查询表名、查询数据库类型、查询开始时间、查询结束时间、查询条数和页数。
4、从多个数据库中获取与所述查询数据库类型匹配的目标数据库和目标数据表。
6、根据所述查询数据库,获取满足所述查询条数和所述页数的目标数据,若所述开始数据库和所述结束数据库不是同一数据库,根据所述开始数据库、所述结束数据库和所述中间数据库获取满足所述查询条数和所述页数的目标数据。
7、输出所述目标数据。
8、在其中一个实施例中,所述根据所述查询数据库,获取满足所述查询条数和所述页数的目标数据,包括:
9、若所述开始数据库和所述结束数据库为同一数据库,从所述开始数据库中根据所述查询条数与所述页数获取目标数据。
10、若所述开始数据库和所述结束数据库不是同一数据库,从所述查询数据库中获取满足所述查询条数和所述页数的目标数据。
11、在其中一个实施例中,所述从所述查询数据库中获取满足所述查询条数和所述页数的目标数据,包括:
12、获取第一数组,所述第一数组中的元素由各个所述目标数据表中满足第一查询条件的数据条数组成,所述第一查询条件与所述查询开始时间或所述查询结束时间相关。
13、根据所述第一数组获取第二数组,其中,所述第二数组中的第n个元素为所述第一数组中的前n个元素之和;所述n为正整数。
14、根据所述第二数组中的元素获取所述目标数据。
15、在其中一个实施例中,所述获取第一数组,包括:
16、从第一目标数据表中,获取所述查询开始时间至所述第一目标数据表中的最后一条数据之间的第一数据条数;所述第一目标数据表为小于或者等于所述查询开始时间的最大时间值所在的所述目标数据数据表。
17、从第二目标数据表中,获取第一预设条数据至所述查询结束时间之间的第二数据条数;所述第二目标数据表为小于或者等于所述查询结束时间的最大时间值所在的所述目标数据数据表;
18、依次获取每个第三目标数据表中的所有数据条数,所述第三目标数据表为大于所述第一目标时间且小于第二目标时间的时间值所在的所述目标数据表,其中,所述第一目标数据表和所述第二目标数据表相邻时,所述第三目标数据表的所述所有数据条数为0。
19、依次获取每个所述第三目标数据表中的所有数据条数,所述第三目标数据表为大于所述第一目标时间且小于所述第二目标时间的时间值所在的所述目标数据表。
20、按照时间递增顺序依次排列所述第一数据条数、每个所述第三目标数据表中的所有数据条数以及所述第二数据条数,以生成所述第一数组。
21、在其中一个实施例中,所述根据所述第二数组中的元素获取所述目标数据,包括:
22、根据所述第二数组中的元素和第一预设条件判断所述目标数据是否在一个所述目标数据表中,其中,所述第一预设条件与所述页数和所述查询条数相关。
23、若在,从所述目标数据表中获取所述目标数据。
24、若不在,确定所述目标数据所在的多个目标数据表,并从所述多个目标数据表中获取所述目标数据。
25、在其中一个实施例中,所述根据所述第二数组中的元素和第一预设条件判断所述目标数据是否在一个目标数据表中,包括:
26、根据所述第二数组中的元素与第一预设条数以及第二预设条数的关系判断所述目标数据是否在一个目标数据表中,所述第一预设条数根据所述页数获取,所述第二预设条数根据所述页数与所述查询条数获取。
27、在其中一个实施例中,所述根据所述第二数组中的元素与第一预设条数以及第二预设条数的关系判断所述目标数据是否在一个目标数据表中,包括:
28、若存在满足所述第一预设条数以及所述第二预设条数的目标元素,获取所述目标元素的数量。
29、若所述目标元素为1个,确定所述目标数据在同一个所述目标数据表中。
30、若所述目标元素为多个,确定所述目标数据在不同的所述目标数据表中。
31、在其中一个实施例中,所述从所述目标数据表中获取所述目标数据,包括:
32、从所述目标元素对应的所述目标数据表中获取第三条数至第四条数之间的数据,所述第三条数为所述第一预设条数减去所述目标元素的前一个相邻目标元素后得到的值,所述第四条数为所述第二预设条数减去所述目标元素的前一个相邻目标元素后得到的值。
33、在其中一个实施例中,所述确定所述目标数据所在的多个目标数据表,并从所述多个目标数据表中获取所述目标数据,包括:
34、获取第一个所述目标元素所在的目标数据表中,从第五条数至最后一条之间的第一数据;所述第五条数为所述第一预设条数与第一个所述目标元素的前一个相邻目标元素之间的差值。
35、获取最后一个所述目标元素所在的目标数据表中,从第一预设条数据至差值之间的第二数据;所述差值根据所述目标元素中的最大值与所述第二预设条数获取。
36、依次获取第一个所述目标元素和最后一个所述目标元素之间的其他各个所述目标元素所在的所述目标数据表中的所有数据。
37、按照时间递增顺序依次排列所述第一数据、所述其他各个所述目标元素所在的目标数据表中的所有数据和所述第二数据,生成所述目标数据。
3本文档来自技高网...
【技术保护点】
1.一种数据库查询方法,其特征在于,包括:
2.如权利要求1所述的数据库查询方法,其特征在于,所述根据所述查询数据库,获取满足所述查询条数和所述页数的目标数据,包括:
3.如权利要求2所述的数据库查询方法,其特征在于,所述从所述查询数据库中获取满足所述查询条数和所述页数的目标数据,包括:
4.如权利要求3所述的数据库查询方法,其特征在于,所述获取第一数组,包括:
5.如权利要求3所述的数据库查询方法,其特征在于,所述根据所述第二数组中的元素获取所述目标数据,包括:
6.如权利要求5所述的数据库查询方法,其特征在于,所述根据所述第二数组中的元素和第一预设条件判断所述目标数据是否在一个目标数据表中,包括:
7.如权利要求6所述的数据库查询方法,其特征在于,所述根据所述第二数组中的元素与第一预设条数以及第二预设条数的关系判断所述目标数据是否在一个目标数据表中,包括:
8.如权利要求7所述的数据库查询方法,其特征在于,所述从所述目标数据表中获取所述目标数据,包括:
9.如权利要求7所述的数据库
10.一种数据库查询装置,其特征在于,包括:
11.一种数据库查询系统,其特征在于,包括存储器和处理器;所述存储器,用于存储计算机程序,所述处理器,用于当执行所述计算机程序时,实现如权利要求1至9任一项所述的数据库查询方法。
...【技术特征摘要】
1.一种数据库查询方法,其特征在于,包括:
2.如权利要求1所述的数据库查询方法,其特征在于,所述根据所述查询数据库,获取满足所述查询条数和所述页数的目标数据,包括:
3.如权利要求2所述的数据库查询方法,其特征在于,所述从所述查询数据库中获取满足所述查询条数和所述页数的目标数据,包括:
4.如权利要求3所述的数据库查询方法,其特征在于,所述获取第一数组,包括:
5.如权利要求3所述的数据库查询方法,其特征在于,所述根据所述第二数组中的元素获取所述目标数据,包括:
6.如权利要求5所述的数据库查询方法,其特征在于,所述根据所述第二数组中的元素和第一预设条件判断所述目标数据是否在一个目标数据表中,包括:
<...【专利技术属性】
技术研发人员:吕鹏凌,仇成丰,
申请(专利权)人:双一力宁波电池有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。