数据排序方法和数据排序装置、计算机设备、存储介质制造方法及图纸

技术编号:38632613 阅读:26 留言:0更新日期:2023-08-31 18:30
本申请实施例提供了一种数据排序方法和数据排序装置、计算机设备、存储介质,属于数据库技术领域。该方法包括:根据排序查询语句确定目标数据表和排序查询数据,排序查询数据包括返回列字段、第一目标列字段、排序类型数据和返回数据量;当返回数据量小于排序数据量阈值,根据第一目标列字段、排序类型数据和返回数据量对目标数据表进行元组提取,得到第一元组;根据返回列字段和第一目标列字段确定至少一个第二目标列字段;根据第一元组的第一编号数据和第二目标列字段对目标数据表得到第二列数据;根据第一元组和第二列数据构建第一目标元组;对第一目标元组进行元组合并得到目标排序数据表。本申请实施例能够提高数据库的数据排序效率。据排序效率。据排序效率。

【技术实现步骤摘要】
数据排序方法和数据排序装置、计算机设备、存储介质


[0001]本申请涉及数据库
,尤其涉及一种数据排序方法和数据排序装置、计算机设备、存储介质。

技术介绍

[0002]目前,在数据库的排序查询场景中,由于一张数据表中记录了大量的数据,且在针对某一个或者多个字段进行排序时,通常采用基于LIMIT关键字的排序语句进行排序处理。相关技术的数据排序方法通常是通过外部排序方法对大量原始的元组数据进行排序,并根据排序后的结果进行数据合并得到新的元组数据,以利用新的元组数据替代原始的元组数据。然而,为了保证数据表中同行数据多列间的对应关系,相关技术在排序阶段需要对大量数据全部进行拷贝排序,将会占用大量的内存容量,且对非排序列字段的数据的内存拷贝消耗了大量的计算机系统资源,从而明显提高了计算机的性能开销,降低了排序效率。并且,在利用外部排序方法对大量原始的元组数据进行排序时,由于计算机内存的有限性,会产生大量的输入输出(Input

Output,IO)操作,从而降低了数据库的数据排序效率。因此,如何提高数据库的数据排序效率,成为了亟待本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据排序方法,其特征在于,所述方法包括:根据排序查询语句确定目标数据表和所述目标数据表的排序查询数据,所述排序查询数据包括返回列字段、第一目标列字段、排序类型数据和返回数据量,所述第一目标列字段用于表示待排序的数据列;当所述返回数据量小于预设的排序数据量阈值,根据所述第一目标列字段、所述排序类型数据和所述返回数据量对所述目标数据表进行元组提取,得到第一元组,所述第一元组包括第一列数据和所述第一列数据的第一编号数据;根据所述返回列字段和所述第一目标列字段确定至少一个第二目标列字段,所述第二目标列字段用于表示不进行排序的数据列;根据所述第一编号数据和全部所述第二目标列字段对所述目标数据表进行数据提取,得到第二列数据;根据所述第一编号数据、所述第一列数据和所述第二列数据构建第一目标元组;对所述第一目标元组进行元组合并,得到目标排序数据表。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标列字段、所述排序类型数据和所述返回数据量对所述目标数据表进行元组提取,得到第一元组,包括:根据所述第一目标列字段对所述目标数据表进行元组构建,得到第二元组;根据所述排序类型数据对所述第二元组进行元组排序,得到第三元组;根据所述返回数据量对所述第三元组进行元组选择,得到所述第一元组。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一目标列字段对所述目标数据表进行元组构建,得到第二元组,包括:获取所述目标数据表的数据编号列;根据所述第一目标列字段对所述目标数据表进行字段数据提取,得到第二列数据;根据所述第二列数据和所述数据编号列确定第二编号数据;根据所述第二列数据和所述第二编号数据进行元组构建,得到所述第二元组。4.根据权利要求3所述的方法,其特征在于,所述根据所述排序类型数据对所述第二元组进行元组排序,得到第三元组,包括:根据所述排序类型数据对所述第二列数据进行数据排列,得到列数据序列;将所述列数据序列中的所述第二列数据作为第三列数据,将所述第三列数据对应的所述第二编号数据作为第三编号数据;根据所述第三列数据和所述第三编号数据进行元组构建,得到所述第三元组。5.根据权利要求4所述的方法,其特征在于,所述根据所述返回数据量对所述第三元组进行元组选择,得到所述第一元组,包括:根据所述返回数据量对所述第三列数据进行数据选择,得到所述第一列数据,并将所述第一列数据对应的所述第三编号数据作为所述第一编号数据;根据所述第一列数据和所述第一编号数据进行元组构...

【专利技术属性】
技术研发人员:杨浩
申请(专利权)人:本原数据北京信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1