【技术实现步骤摘要】
关系型数据库管理系统中的元组排序方法、查询方法及装置
本专利技术涉及数据库
,尤其涉及一种关系型数据库管理系统中的元组排序方法、查询方法及装置。
技术介绍
随着互联网和电子商务的快速发展,关系型数据库越来越多应用在网络上,并且承担企业业务和信息系统核心的重任,所以愈加面临超大规模数据量和高强度瞬间并发的考验。针对这些问题,对于数据库企业级应用来说,需要执行效率更高的数据库技术,以确保企业利益。关系型数据库在执行如包含orderby,groupby等SQL语句时,会经过查询编译、查询优化、查询执行完成要查询的SQL语句,在这一过程中,最影响执行性能的是排序过程。现有关系型数据库(如postgreSQL,MySQL等)主要通过两种模式执行排序过程:迭代模式(iterator)和物化模式(materialization)。迭代模式的方法每次返回一个元组,需要不同操作符之间进行多次协调,执行效率不高;而物化模式是一次性处理所有数据,当数据量大于元组内存时,会造成内存不足(outofmemory)的问题。
技术实现思路
r>本专利技术提供一本文档来自技高网...
【技术保护点】
1.一种关系型数据库管理系统中的元组排序方法,其特征在于,包括:/n将从原始关系型数据库结构体提取的元组排序所用数据存储至在内存中申请的基础数据类型的数组中,以及将从原始关系型数据库结构体拷贝的元组存储至在内存中申请的原始关系型数据库结构体类型的元组数组中;/n通过设定核函数输出所述基础数据类型的数组中存储的元组排序所用数据,以利用能够识别所述基础数据类型的数据的外部硬件加速器对所述元组排序所用数据进行排序计算;/n接收通过所述设定核函数返回的排序计算结果,以及依据所述排序计算结果,并利用所述原始关系型数据库结构体类型的元组数组中的元组向原始关系型数据库结构体中的元组数组进 ...
【技术特征摘要】
1.一种关系型数据库管理系统中的元组排序方法,其特征在于,包括:
将从原始关系型数据库结构体提取的元组排序所用数据存储至在内存中申请的基础数据类型的数组中,以及将从原始关系型数据库结构体拷贝的元组存储至在内存中申请的原始关系型数据库结构体类型的元组数组中;
通过设定核函数输出所述基础数据类型的数组中存储的元组排序所用数据,以利用能够识别所述基础数据类型的数据的外部硬件加速器对所述元组排序所用数据进行排序计算;
接收通过所述设定核函数返回的排序计算结果,以及依据所述排序计算结果,并利用所述原始关系型数据库结构体类型的元组数组中的元组向原始关系型数据库结构体中的元组数组进行赋值,以排序所述原始关系型数据库结构体中的元组。
2.如权利要求1所述的关系型数据库管理系统中的元组排序方法,其特征在于,
将从原始关系型数据库结构体提取的元组排序所用数据存储至在内存中申请的基础数据类型的数组中,包括:
在内存中申请基础数据类型的数组,并从原始关系型数据库结构体提取元组排序所用数据中的单键值和相应的元组索引,将提取的单键值和相应的元组索引存储至申请的基础数据类型的数组中;
通过设定核函数输出所述基础数据类型的数组中存储的元组排序所用数据,以利用能够识别所述基础数据类型的数据的外部硬件加速器对所述元组排序所用数据进行排序计算,包括:
通过设定核函数输出申请的基础数据类型的数组中存储的单键值和相应的元组索引,以利用能够识别所述基础数据类型的数据的外部硬件加速器对单键值进行排序计算,从而返回排序后的单键值对应的元组索引;
将从原始关系型数据库结构体拷贝的元组存储至在内存中申请的原始关系型数据库结构体类型的元组数组中,包括:
在内存中申请原始关系型数据库结构体类型的元组数组,并将从原始关系型数据库结构体的原始元组数组中的全部元组拷贝至申请的原始关系型数据库结构体类型的元组数组;
接收通过所述设定核函数返回的排序计算结果,以及依据所述排序计算结果,并利用所述原始关系型数据库结构体类型的元组数组中的元组向原始关系型数据库结构体中的元组数组进行赋值,以排序所述原始关系型数据库结构体中的元组,包括:
接收通过所述设定核函数返回的排序后的单键值对应的元组索引;
根据排序后的单键值对应的元组索引,利用申请的原始关系型数据库结构体类型的元组数组中存储的元组向原始关系型数据库结构体的原始元组数组赋值,以按排序后的单键值排序原始关系型数据库结构体中的元组。
3.如权利要求1所述的关系型数据库管理系统中的元组排序方法,其特征在于,
将从原始关系型数据库结构体提取的元组排序所用数据存储至在内存中申请的基础数据类型的数组中,包括:
在内存中申请基础数据类型的第一数组和第二数组,并从原始关系型数据库结构体提取的元组排序所用数据中的多键值、相应的元组索引及相应的键值属性,将提取的多键值和相应的元组索引存储至申请的基础数据类型的第一数组中,将提取的键值属性存储至申请的基础数据类型的第二数组中;
通过设定核函数输出所述基础数据类型的数组中存储的元组排序所用数据,以利用能够识别所述基础数据类型的数据的外部硬件加速器对所述元组排序所用数据进行排序计算,包括:
通过设定核函数输出基础数据类型的第一数组中存储的多键值和相应的元组索引与基础数据类型的第二数组中存储的键值属性,以利用能够识别所述基础数据类型的数据的外部硬件加速器根据所述键值属性识别所述多键值中的各种键值,并对所述多键值进行排序计算,从而返回排序后的多键值对应的元组索引;
将从原始关系型数据库结构体拷贝的元组存储至在内存中申请的原始关系型数据库结构体类型的元组数组中,包括:
在内存中申请原始关系型数据库结构体类型的元组数组;
将从原始关系型数据库结构体的原始元组数组中的全部元组拷贝至申请的原始关系型数据库结构体类型的元组数组;
接收通过所述设定核函数返回的排序计算结果,以及依据所述排序计算结果,并利用所述原始关系型数据库结构体类型的元组数组中的元组向原始关系型数据库结构体中的元组数组进行赋值,以排序所述原始关系型数据库结构体中的元组,包括:
接收通过所述设定核函数返回的排序后的多键值对应的元组索引;
根据排序后的多键值对应的元组索引,利用申请的原始关系型数据库结构体类型的元组数组中存储的元组向原始关系型数据库结构体的原始元组数组赋值,以按排序后的多键值排序原始关系型数据库结构体中的元组。
4.如权利要求1所述的关系型数据库管理系统中的元组排序方法,其特征在于,接收通过所述设定核函数返回的排序计算结果,以及依据所述排序计算结果,并利用所述原始关系型数据库结构体类型的元组数组中的元组向原始关系型数据库结构体中的元组数组进行赋值,以排序所述原始关系型数据库结构体中的元组之后,所述方法还包括:
回收申请的基础数据类型的数组对应的内存空间和原始关系型数据库结构体类型的元组数组对应的内存空间,并将基础数据类型的数组的指针和原始关系型数据库结构体类型的指针置空。
5.如权利要求2所述的...
【专利技术属性】
技术研发人员:鄢贵海,江树浩,申宇昂,
申请(专利权)人:中科驭数北京科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。