1 .一种数据库的查询方法,其特征在于,所述方法包括:
根据接收的数据查询请求确定目标数据列和初始预聚合哈希表,所述目标数据列包括
第一分组数据、第二分组数据和预设的结束标记,所述第二分组数据的存储时间是所述第
一分组数据的存储时间之后的下一个数据存储时间;
根据所述初始预聚合哈希表的存储空间和预设哈希表空间阈值将所述第一分组数据
写入所述初始预聚合哈希表,得到第一预聚合哈希表;
将所述第一分组数据写入预聚合缓存中,更新所述预聚合缓存中存储的初始缓存数
据;
根据所述第一预聚合哈希表中存储的关键字数据和所述第二分组数据进行关键字匹
配,得到第一匹配结果;
根据所述第一匹配结果对所述第一预聚合哈希表的存储空间和所述预设哈希表空间
阈值进行空间判断,并根据空间判断的结果和预设淘汰算法对所述初始缓存数据进行数据
选择,确定第三分组数据;
根据所述第一匹配结果和所述第三分组数据将所述第二分组数据写入所述第一预聚
合哈希表,得到第二预聚合哈希表,并将所述第二分组数据写入更新后的所述预聚合缓存,
更新所述初始缓存数据;
当所述第二分组数据是所述结束标记,对所述第二预聚合哈希表的数据和所述第三分
组数据进行数据合并,得到目标查询表。
2.根据权利要求1所述的方法,其特征在于,所述根据所述初始预聚合哈希表的存储空
间和预设哈希表空间阈值将所述第一分组数据写入所述初始预聚合哈希表,得到第一预聚
合哈希表,包括:
当所述初始预聚合哈希表的存储空间小于所述预设哈希表空间阈值,将所述第一分组
数据写入所述初始预聚合哈希表,得到所述第一预聚合哈希表;
或者,
当所述初始预聚合哈希表的存储空间大于或等于所述预设哈希表空间阈值,根据所述
预设淘汰算法对所述初始缓存数据进行数据选择,得到第四分组数据;
根据所述第四分组数据将所述第一分组数据写入所述初始预聚合哈希表,得到所述第
一预聚合哈希表。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一匹配结果和所述第三分
组数据将所述第二分组数据写入所述第一预聚合哈希表,得到第二预聚合哈希表,包括:
当所述第一预聚合哈希表中包含和所述第二分组数据匹配的所述关键字数据,获取与
所述第二分组数据匹配的第一关键字和所述第一关键字的第一键值;
根据所述第一预聚合哈希表的预设哈希函数、所述第一键值和所述第二分组数据进行
函数计算,得到第二键值;
根据所述第二键值更新所述第一预聚合哈希表,并将更新后的所述第一预聚合哈希表
作为所述第二预聚合哈希表。
4 .根据权利要求3所述的方法,其特征在于,所述根据所述第一匹配结果和所述第三分
组数据将所述第二分组数据写入所述第一预聚合哈希表,得到第二预聚合哈希表,还包括:
当所述第一预聚合哈希表中不包含和所述第二分组数据匹配的所述关键字数据,确定
权 利 要 求 书
1/3 页
2
评论