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、在去重聚集函数的数量为1时,为去重聚集函数生成分组子查询;
16、将去重聚集函数中的引用列转换为分组子查询的目标列,并删除目标关键词,从而消除去重聚集函数中的去重性质。
17、可选地,根据去重聚集函数的数量对数据库查询语句进行相应的转换操作的步骤包括:
18、在去重聚集函数的数量超过1时,判断多个去重聚集函数的引用列是否相同;
19、在多个去重聚集函数的引用列相同的情况下,根据引用列生成分组子查询;
20、将多个去重聚集函数中的引用列转换为分组子查询的目标列,并删除目标关键词,从而消除多个去重聚集函数中的去重性质。
21、可选地,判断多个去重聚集函数的引用列是否相同的步骤包括:
22、在多个去重聚集函数的引用列不相同的情况下,分别为多个去重聚集函数根据引用列的不同生成对应的去重聚集子查询,并将去重聚集子查询通过连接关键词进行连接,去重聚集子查询中的去重聚集函数对应的引用列均相同;
23、在每个去重聚集子查询中,根据引用列生成对应的分组子查询;
24、在每个去重聚集子查询中,将去重聚集函数中的引用列转换为自身对应的分组子查询的目标列,并删除目标关键词,从而消除去重聚集函数中的去重性质。
25、可选地,目标关键词为distinct;
26、聚集函数关键词包括sum、avg、min、max、stddev。
27、可选地,根据去重聚集函数的数量对数据库查询语句进行相应的转换操作的步骤之后还包括:
28、判断数据库查询语句是否存在普通聚集函数,普通聚集函数为不包含去重性质的聚集函数;
29、若是,则将位于父查询的普通聚集函数复制至分组子查询的目标列中,并为分组子查询中的普通聚集函数生成别名;
30、将位于父查询的普通聚集函数中的引用列替换为别名。
31、根据本专利技术的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一种的数据库查询语句的处理方法的步骤。
32、根据本专利技术的又一个方面,还提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现上述任一种的数据库查询语句的处理方法的步骤。
33、根据本专利技术的再一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的数据库查询语句的处理方法的步骤。
34、本专利技术的数据库查询语句的处理方法,首先获取数据库查询语句;随后判断数据库查询语句是否存在去重聚集函数,其中去重聚集函数为含有去重性质的聚集函数;若是,则统计去重聚集函数的数量;根据去重聚集函数的数量对数据库查询语句进行相应的转换操作,从而消除去重聚集函数中的去重性质。通过此方法,将含有去重性质的聚集函数转换后,使得数据库同样可以利用哈希分组的方法来计算聚集函数,从而避免原先语句中聚集函数中存在去重关键字导致优化器不能并行操作,提高数据库对去重聚集函数的处理性能。
35、根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。
本文档来自技高网...【技术保护点】
1.一种数据库查询语句的处理方法,包括:
2.根据权利要求1所述的数据库查询语句的处理方法,其中,
3.根据权利要求2所述的数据库查询语句的处理方法,其中,
4.根据权利要求3所述的数据库查询语句的处理方法,其中,
5.根据权利要求4所述的数据库查询语句的处理方法,其中,
6.根据权利要求5所述的数据库查询语句的处理方法,其中,
7.根据权利要求5所述的数据库查询语句的处理方法,其中,
8.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的数据库查询语句的处理方法的步骤。
9.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的数据库查询语句的处理方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至7任一项所述的数据库查询语句的处理方法的步骤。
【技术特征摘要】
1.一种数据库查询语句的处理方法,包括:
2.根据权利要求1所述的数据库查询语句的处理方法,其中,
3.根据权利要求2所述的数据库查询语句的处理方法,其中,
4.根据权利要求3所述的数据库查询语句的处理方法,其中,
5.根据权利要求4所述的数据库查询语句的处理方法,其中,
6.根据权利要求5所述的数据库查询语句的处理方法,其中,
7.根据权利要求5所述的数据库查询语句的处理方法,其中,
8.一种计算机...
【专利技术属性】
技术研发人员:杨紫璇,范国腾,毕东贞,尹强,徐登峰,
申请(专利权)人:中电科金仓北京科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。