数据排序方法、装置、设备、存储介质及程序产品与流程
- 国知局
- 2024-11-18 18:15:30
本发明涉及数据库,尤其涉及一种数据排序方法、装置、设备、存储介质及程序产品。
背景技术:
1、结构化查询语言(structured query language,sql)语句排序是指,在sql中使用order by子句对结果集重新调整顺序,使其按照指定字段有序。当order by子句指定的字段已经为有序时,通常可以通过消除排序优化提升执行性能;但如果order by子句指定的字段仅为部分有序时,则无法消除此排序。
技术实现思路
1、本发明提供一种数据排序方法、装置、设备、存储介质及程序产品,可以减少内存消耗,提升执行性能。
2、第一方面,本公开实施例提供了一种数据排序方法,包括:基于待优化sql语句对应的关系树确定目标节点的第一排序字段集合以及第二排序字段集合;其中,所述关系树由所述待优化sql语句的逻辑执行计划得到;所述待优化sql语句包括排序语句;所述目标节点为所述关系树中,所述排序语句对应的节点;其中,第一排序字段集合与第二排序字段集合相同;基于所述目标节点的子节点获取索引字段集合;基于所述索引字段集合的前导列以及所述第二排序字段集合确定目标排序字段集合;其中,所述目标排序字段集合属于所述索引字段集合的前导列,或者,所述目标排序字段集合与所述索引字段集合相同;根据所述目标排序字段集合以及所述第一排序字段集合确定剩余排序字段集合;其中,所述第一排序字段集合包括所述目标排序字段集合和所述剩余排序字段集合;根据所述目标排序字段集合对所述剩余排序字段集合对应的数据进行分组排序。
3、第二方面,本公开实施例还提供了一种数据排序装置,包括:排序字段集合确定模块,用于基于待优化sql语句对应的关系树确定目标节点的第一排序字段集合以及第二排序字段集合;其中,所述关系树由所述待优化sql语句的逻辑执行计划得到;所述待优化sql语句包括排序语句;所述目标节点为所述关系树中,所述排序语句对应的节点;其中,第一排序字段集合与第二排序字段集合相同;索引字段集合获取模块,用于基于所述目标节点的子节点获取索引字段集合;目标排序字段集合确定模块,用于基于所述索引字段集合的前导列以及所述第二排序字段集合确定目标排序字段集合;其中,所述目标排序字段集合属于所述索引字段集合的前导列,或者,所述目标排序字段集合与所述索引字段集合相同;剩余排序字段集合确定模块,用于根据所述目标排序字段集合以及所述第一排序字段集合确定剩余排序字段集合;其中,所述第一排序字段集合包括所述目标排序字段集合和所述剩余排序字段集合;分组排序模块,用于根据所述目标排序字段集合对所述剩余排序字段集合对应的数据进行分组排序。
4、第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例所述数据排序方法。
5、第四方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例所述的数据排序方法。
6、第五方面,本公开实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本公开实施例所述的数据排序方法。
7、本公开实施例的技术方案,基于待优化sql语句对应的关系树确定目标节点的第一排序字段集合以及第二排序字段集合;其中,所述关系树由所述待优化sql语句的逻辑执行计划得到;所述待优化sql语句包括排序语句;所述目标节点为所述关系树中,所述排序语句对应的节点;其中,第一排序字段集合与第二排序字段集合相同;基于所述目标节点的子节点获取索引字段集合;基于所述索引字段集合的前导列以及所述第二排序字段集合确定目标排序字段集合;其中,所述目标排序字段集合属于所述索引字段集合的前导列,或者,所述目标排序字段集合与所述索引字段集合相同;根据所述目标排序字段集合以及所述第一排序字段集合确定剩余排序字段集合;其中,所述第一排序字段集合包括所述目标排序字段集合和所述剩余排序字段集合;根据所述目标排序字段集合对所述剩余排序字段集合对应的数据进行分组排序。本公开实施例,通过基于所述索引字段集合的前导列以及所述第二排序字段集合确定目标排序字段集合,并根据所述目标排序字段集合对所述剩余排序字段集合对应的数据进行分组排序的方式,使得排序操作符无需处理目标排序字段集合对应的数据,可以减少内存消耗,提高数据排序的效率,提升执行性能。
技术特征:1.一种数据排序方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,基于待优化sql语句对应的关系树确定目标节点的排序字段,包括:
3.根据权利要求1所述的方法,其特征在于,基于所述目标节点的子节点获取索引字段集合,包括:
4.根据权利要求3所述的方法,其特征在于,基于所述索引字段集合的前导列以及所述第二排序字段集合确定目标排序字段集合,包括:
5.根据权利要求4所述的方法,其特征在于,还包括:
6.根据权利要求1所述的方法,其特征在于,在基于所述索引字段集合的前导列以及所述排序字段集合确定目标排序字段集合之后,还包括:
7.根据权利要求1所述的方法,其特征在于,根据所述目标排序字段集合对所述剩余排序字段集合对应的数据进行分组排序,包括:
8.根据权利要求7所述的方法,其特征在于,根据所述目标排序字段集合对所述剩余排序字段集合对应的数据进行分组排序,包括:
9.一种数据排序装置,其特征在于,包括:
10.一种电子设备,其特征在于,所述电子设备包括:
11.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8中任一所述的数据排序方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-8中任一项所述的数据排序方法。
技术总结本发明实施例提供了数据排序方法、装置、设备、存储介质及程序产品。该方法包括:基于待优化SQL语句对应的关系树确定目标节点的第一排序字段集合以及第二排序字段集合;基于目标节点的子节点获取索引字段集合;基于索引字段集合的前导列以及第二排序字段集合确定目标排序字段集合;其中,目标排序字段集合属于索引字段集合的前导列,或者,目标排序字段集合与索引字段集合相同;根据目标排序字段集合以及第一排序字段集合确定剩余排序字段集合;根据目标排序字段集合对剩余排序字段集合对应的数据进行分组排序。本公开实施例,使得排序操作符无需处理目标排序字段集合对应的数据,可以减少内存消耗,提高数据排序的效率,提升执行性能。技术研发人员:徐家辉,朱仲颖,薛慧受保护的技术使用者:上海达梦数据库有限公司技术研发日:技术公布日:2024/11/14本文地址:https://www.jishuxx.com/zhuanli/20241118/327831.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表