[发明专利]数据查询方法和装置在审
申请号: | 201711309217.0 | 申请日: | 2015-10-21 |
公开(公告)号: | CN108170726A | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 郭益君;毕杰山 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明是关于一种数据查询方法和装置,属于数据库领域。所述方法包括:接收客户端的查询请求,查询请求中包含有查询数据;根据查询请求查询主索引的目标二级索引,得到查询数据对应的目标行主键;从主索引中获取目标行主键对应的目标索引行中的索引数据;向客户端提供目标索引行中的索引数据。本发明通过查询数据查询目标二级索引,该目标二级索引中的第一索引列中记录有至少两个第二索引列中的索引数据,得到查询数据对应的行主键,再获取该行主键对应的索引数据,解决了相关技术中在进行查询时,查询效率较低的问题;达到了进行一次查询就能够查询多个第二索引列中的索引数据的效果,查询过程操作简单,查询效率较高。 1 | ||
搜索关键词: | 索引数据 查询数据 主键 查询 查询请求 二级索引 索引列 方法和装置 查询效率 目标索引 数据查询 主索引 客户端提供 数据库领域 查询目标 过程操作 获取目标 目标行 记录 客户 | ||
接收客户端的查询请求,所述查询请求中包含有查询数据;
根据所述查询请求查询主索引的目标二级索引,得到所述查询数据对应的目标行主键,所述目标二级索引包括第一索引列,所述第一索引列中记录有所述主索引中的至少两个第二索引列中的索引数据,所述至少两个第二索引列中每个索引数据各自对应一个行主键,所述行主键对应于所述主索引中的一个索引行;
从所述主索引中获取所述目标行主键对应的目标索引行中的索引数据;
向所述客户端提供所述目标索引行中的索引数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述查询请求查询主索引的目标二级索引之前,所述方法还包括:从所述主索引中获取至少两个第二索引列中的索引数据;
将所述至少两个第二索引列中的索引数据映射为一个虚拟列,所述虚拟列中记录有所述至少两个第二索引列中的索引数据;
根据所述虚拟列和所述虚拟列中每个索引数据对应的行主键建立所述目标二级索引,所述虚拟列为所述目标二级索引中的第一索引列。
3.根据权利要求2所述的方法,其特征在于,所述主索引中每个第二索引列各自对应一种数据类型,所述根据所述虚拟列和所述虚拟列中每个索引数据对应的行主键建立所述目标二级索引,包括:根据所述主索引中的所述至少两个第二索引列中每个第二索引列各自对应的数据类型确定所述虚拟列中每个索引数据的数据类型;
根据所述虚拟列和所述虚拟列中每个索引数据对应的行键值以及所述虚拟列中每个索引数据的数据类型建立所述目标二级索引,所述虚拟列中每个索引数据的数据类型组成所述目标二级索引的附加列。
4.根据权利要求2所述的方法,其特征在于,所述根据所述虚拟列和所述虚拟列中每个索引数据对应的行主键建立所述目标二级索引之后,所述方法还包括:接收所述客户端的写入请求,所述写入请求中包含有新增索引行;
将所述新增索引行写入所述主索引,并为所述新增索引行分配对应的行主键;
确定所述目标二级索引中虚拟列对应的所述至少两个第二索引列;
从所述新增索引行中获取属于所述至少两个第二索引列中的索引数据;
将所述新增索引行中属于所述至少两个第二索引列中的索引数据写入所述目标二级索引。
5.根据权利要求3所述的方法,其特征在于,所述查询请求中还包含有目标数据类型和所述目标二级索引的标识,所述根据所述查询请求查询主索引的目标二级索引,得到所述查询数据对应的目标行主键,包括:
根据所述目标二级索引的标识确定所述目标二级索引;
根据所述目标数据类型和所述查询数据在所述目标二级索引中确定目标二级索引行,所述目标二级索引行中的索引数据与查询数据相同,且所述目标二级索引行中的数据类型与所述目标数据类型相同;
将所述目标二级索引行的行主键确定为所述目标行主键。
6.一种数据查询装置,其特征在于,所述装置包括:请求接收单元,用于接收客户端的查询请求,所述查询请求中包含有查询数据;
索引查询单元,用于根据所述查询请求查询主索引的目标二级索引,得到所述查询数据对应的目标行主键,所述目标二级索引包括第一索引列,所述第一索引列中记录有所述主索引中的至少两个第二索引列中的索引数据,所述至少两个第二索引列中每个索引数据各自对应一个行主键,所述行主键对应于所述主索引中的一个索引行;
数据获取单元,用于从所述主索引中获取所述目标行主键对应的目标索引行中的索引数据;
数据提供单元,用于向所述客户端提供所述目标索引行中的索引数据。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:索引数据获取单元,用于从所述主索引中获取至少两个第二索引列中的索引数据;
虚拟映射单元,用于将所述至少两个第二索引列中的索引数据映射为一个虚拟列,所述虚拟列中记录有所述至少两个第二索引列中的索引数据;
索引建立单元,用于根据所述虚拟列和所述虚拟列中每个索引数据对应的行主键建立所述目标二级索引,所述虚拟列为所述目标二级索引中的第一索引列。
8.根据权利要求7所述的装置,其特征在于,所述主索引中每个第二索引列各自对应一种数据类型,所述索引建立单元,用于:根据所述主索引中的所述至少两个第二索引列中每个第二索引列各自对应的数据类型确定所述虚拟列中每个索引数据的数据类型;
根据所述虚拟列和所述虚拟列中每个索引数据对应的行键值以及所述虚拟列中每个索引数据的数据类型建立所述目标二级索引,所述虚拟列中每个索引数据的数据类型组成所述目标二级索引的附加列。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:写入接收单元,用于接收所述客户端的写入请求,所述写入请求中包含有新增索引行;
索引写入单元,用于将所述新增索引行写入所述主索引,并为所述新增索引行分配对应的行主键;
索引列确定单元,用于确定所述目标二级索引中虚拟列对应的所述至少两个第二索引列;
新增数据获取单元,用于从所述新增索引行中获取属于所述至少两个第二索引列中的索引数据;
数据写入单元,用于将所述新增索引行中属于所述至少两个第二索引列中的索引数据写入所述目标二级索引。
10.根据权利要求8所述的装置,其特征在于,所述查询请求中还包含有目标数据类型和所述目标二级索引的标识,所述索引查询单元,用于:根据所述目标二级索引的标识确定所述目标二级索引;
根据所述目标数据类型和所述查询数据在所述目标二级索引中确定目标二级索引行,所述目标二级索引行中的索引数据与查询数据相同,且所述目标二级索引行中的数据类型与所述目标数据类型相同;
将所述目标二级索引行的行主键确定为所述目标行主键。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711309217.0/,转载请声明来源钻瓜专利网。