[发明专利]数据库索引处理方法和装置有效
申请号: | 201310695909.9 | 申请日: | 2013-12-17 |
公开(公告)号: | CN103678619B | 公开(公告)日: | 2017-06-30 |
发明(设计)人: | 洪超 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 李志刚,吴贵明 |
地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 索引 处理 方法 装置 | ||
技术领域
本发明涉及数据库索引领域,具体而言,涉及一种数据库索引处理方法和装置。
背景技术
目前,在相关技术中,通过数据库索引查询数据库数据时,由于结构化查询语言引擎(Structured Query Language Server,简称SQLserver)的智能化不强,因此SQLserver只能将由索引查询数据库数据的表扫描操作判断为非CPU(Central Processing Unit,中央处理器)密集型操作,从而只能生成索引的串行读写(Input/Output,简称IO)执行计划,该索引的串行IO执行计划用于串行扫描索引,与并行扫描索引相比,串行扫描索引的速度较低,并且串行扫描索引容易造成串行IO的堵塞。
针对相关技术中串行扫描索引时容易造成串行IO堵塞的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据库索引处理方法和装置,以解决相关技术中串行扫描索引时容易造成串行IO堵塞的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据库索引处理方法。该数据库索引处理方法包括:获取数据库索引的串行IO查询语句,其中,索引存储在数据库的索引表中,串行IO查询语句用于在串行IO执行数据库索引的查询;将串行IO查询语句更改为并行IO查询语句,其中,并行IO查询语句用于在并行IO执行数据库索引的查询;以及基于并行IO查询语句在并行IO执行索引的查询。
进一步地,将串行IO查询语句更改为并行IO查询语句包括:获取预先创建的临时表,其中,临时表中包括预先设置的临时数据;获取索引表中的索引;由临时表中的临时数据和索引表中的索引运算得到中间数据;以及根据中间数据将串行IO查询语句更改为并行IO查询语句。
进一步地,由临时表中的临时数据和索引表中的索引运算得到中间数据包括:获取以临时数据为集合元素的第一集合;获取以索引为集合元素的第二集合;以及将第一集合和第二集合进行叉乘运算以得到笛卡尔集合,其中,笛卡尔集合中的元素为中间数据。
进一步地,获取预先创建的临时表包括:获取预先创建的具有单个行和单个列的临时表。
进一步地,索引包括具有第一列索引和第二列索引的聚簇索引,获取数据库索引的串行IO查询语句包括:获取数据库中聚簇索引的第一列索引的串行IO查询语句;和/或获取数据库中聚簇索引的第二列索引的串行IO查询语句。
为了实现上述目的,根据本发明的另一方面,提供了一种数据库索引处理装置。该数据库索引处理装置包括:获取单元,用于获取数据库索引的串行IO查询语句,其中,索引存储在数据库的索引表中,串行IO查询语句用于在串行IO执行数据库索引的查询;更改单元,用于将串行IO查询语句更改为并行IO查询语句,其中,并行IO查询语句用于在并行IO执行数据库索引的查询;以及查询单元,用于基于并行IO查询语句在并行IO执行索引的查询。
进一步地,更改单元包括:第一获取模块,用于获取预先创建的临时表,其中,临时表中包括预先设置的临时数据;第二获取模块,用于获取索引表中的索引;运算模块,用于由临时表中的临时数据和索引表中的索引运算得到中间数据;以及更改模块,用于根据中间数据将串行IO查询语句更改为并行IO查询语句。
进一步地,运算模块包括:第一获取子模块,用于获取以临时数据为集合元素的第一集合;第二获取子模块,用于获取以索引为集合元素的第二集合;以及叉乘子模块,用于将第一集合和第二集合进行叉乘运算以得到笛卡尔集合,其中,笛卡尔集合中的元素为中间数据。
进一步地,第一获取模块还用于获取预先创建的具有单个行和单个列的临时表。
进一步地,索引包括具有第一列索引和第二列索引的聚簇索引,获取单元包括:第三获取模块,用于获取数据库中聚簇索引的第一列索引的串行IO查询语句;和/或第四获取模块,用于获取数据库中聚簇索引的第二列索引的串行IO查询语句。
通过本发明,采用获取数据库索引的串行IO查询语句,其中,索引存储在数据库的索引表中,串行IO查询语句用于在串行IO执行数据库索引的查询;以及将串行IO查询语句更改为并行IO查询语句,其中,并行IO查询语句用于在并行IO执行数据库索引的查询;以及基于并行IO查询语句在并行IO执行索引的查询,解决了相关技术中串行扫描索引时容易造成串行IO堵塞的问题,进而达到了快速扫描数据库索引的效果。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310695909.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:太阳能植物用温室结构
- 下一篇:一种计算影响力数据的方法与装置