System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库,尤其涉及一种数据库语句查询方法、装置、设备、介质及产品。
技术介绍
1、分组查询是数据库中常见的一种查询。在数据库sql(structuredquerylanguage,结构化查询语言)语句中可使用group by子句指定对数据按指定的列进行分组。例如有下述复杂查询语句:select top 3max(d3)from(select c1 d1,func(c2)d2,c3d3 from t1)group by d1,d2。从from项提取记录时,需要对t1表的每一条记录执行一次派生表的子查询,且对t1表的每一条记录都需要计算func()函数,如果t1表数据量很大,查询效率会较低。
2、现有方式可以通过提前分组的方式对查询语句进行优化,得到select top 3max(e3)from(select d1 e1,func(d2)e2,d3 e3 from(select c1d1,c2 d2,max(c3)d3 fromt1 group by c1,c2))group by e1,e2;优化后可以看到最内层会按照(c1,c2)分组,减少中间结果集,那么需要计算的func(d2)行数就会减少,性能就会提升。即假设t1有10000行数据,原始语句需要执行10000次func函数。但提前分组可以将中间结果集缩小假设为1000行,那么仅需要执行1000次的func函数,性能提升。
3、但这样处理依然有一个问题,就是存在顶端条件top 3限定最终目标仅需要输出前3组数据,虽然最内层通过提前分组减少了
技术实现思路
1、本专利技术提供了一种数据库语句查询方法、装置、设备、介质及产品,以实现对查询语句的优化,提升查询性能。
2、根据本专利技术的第一方面,提供了一种数据库语句查询方法,包括:
3、对获取的原始查询语句进行优化,得到目标查询语句;
4、响应于包含顶端关键字的目标查询语句,确定所述目标查询语句的分组信息,所述分组信息中包括所述顶端关键字对应的顶端数值及分组属性;所述分组属性用于指导所述目标查询语句中最内层完整分组语句的分组;
5、基于所述顶端数值及所述分组属性执行所述目标查询语句,得到查询结果,所述分组信息用于指导所述目标查询语句中最内层完整分组语句的分组。
6、根据本专利技术的第二方面,提供了一种数据库语句查询装置,包括:
7、语句确定模块,用于对获取的原始查询语句进行优化,得到目标查询语句;
8、信息确定模块,用于响应于包含顶端关键字的目标查询语句,确定所述目标查询语句的分组信息,所述分组信息中包括所述顶端关键字对应的顶端数值及分组属性;所述分组属性用于指导所述目标查询语句中最内层完整分组语句的分组;
9、结果确定模块,用于基于所述顶端数值及所述分组属性执行所述目标查询语句,得到查询结果,所述分组信息用于指导所述目标查询语句中最内层完整分组语句的分组。
10、根据本专利技术的第三方面,提供了一种电子设备,所述电子设备包括:
11、至少一个处理器;以及
12、与所述至少一个处理器通信连接的存储器;其中,
13、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的数据库语句查询方法。
14、根据本专利技术的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的数据库语句查询方法。
15、根据本专利技术的第五方面,本专利技术实施例还提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现本专利技术任一实施例的数据库语句查询方法。
16、本专利技术实施例的技术方案,通过对获取的原始查询语句进行优化,得到目标查询语句;响应于包含顶端关键字的目标查询语句,确定目标查询语句的分组信息,分组信息中包括顶端关键字对应的顶端数值及分组属性;分组属性用于指导目标查询语句中最内层完整分组语句的分组;基于顶端数值及分组属性执行目标查询语句,得到查询结果。通过分组信息指导目标查询语句中最内层完整分组语句,在顶端数值内的分组数据范围进行分组,减少执行目标查询语句中的其他语句时涉及的分组数据范围,得到查询结果。实现了最内层分组项对顶端条件的感知,减少了最内层数据集,进而减少了后续查询对应的计算次数,提升了性能。
17、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种数据库语句查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标查询语句的分组信息,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述最内层查询项,确定分组属性及前导分组项,包括:
4.根据权利要求1所述的方法,其特征在于,所述基于所述顶端数值及所述分组属性执行所述目标查询语句,得到查询结果,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一项数、各所述目标分组项、所述顶端数值及其他目标分组项,对所述目标表数据进行分组,确定分组数据,包括:
6.根据权利要求4所述的方法,其特征在于,所述根据所述第一项数、各所述内层分组项、各所述目标分组项及所述顶端数值,对所述目标表数据进行哈希分组,确定所述分组数据,包括:
7.一种数据库语句查询装置,其特征在于,包括:
8.一种电子设备,其特征在于,所述电子设备包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的数据库语句查询方法。
...【技术特征摘要】
1.一种数据库语句查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标查询语句的分组信息,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述最内层查询项,确定分组属性及前导分组项,包括:
4.根据权利要求1所述的方法,其特征在于,所述基于所述顶端数值及所述分组属性执行所述目标查询语句,得到查询结果,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一项数、各所述目标分组项、所述顶端数值及其他目标分组项,对所述目标表数据进行分组,确定分组数据,包括:
6.根据权利要求4所述的方法,其...
【专利技术属性】
技术研发人员:万伟,朱仲颖,韩朱忠,
申请(专利权)人:上海达梦数据库有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。