本发明专利技术涉及一种支持对数据表进行快速查询的数据库系统及查询方法。其目的是为了提供一种查询速度快、查询精确的快速查询的数据库系统及查询方法。本发明专利技术包括数据表查询器,数据表查询器内部设置有快速分组查询模块、大尺度分组过滤模块、中尺度分组过滤模块和精确分组定位模块。数据表查询器对单个数据表上的查询工作进行总的控制;快速分组查询模块通过对各模块进行控制,完成对单个数据表上的分组查询操作;大尺度分组过滤模块用于单个数据表上的大尺度组边界的定位操作;中尺度分组过滤模块用于大尺度组范围内的中尺度组边界的定位操作;精确分组定位模块用于中尺度组范围内的精确组边界的定位操作。
【技术实现步骤摘要】
本专利技术涉及集群数据库领域,特别是涉及一种支持对数据表进行快速查询的数据库系统及查询方法。
技术介绍
集群数据库是使用多台普通服务器协同提供高性能的数据库服务,适用于海量数据的保存、查询和分析。分组查询是数据库提供的一种数据查询方式,即按照数据表中某一列已排序的数据进行分组,相同的值归为一组。例如,对(1,2,2,3,3,3,4)进行分组,得到4组数据,分别为((1),(2,2),(3,3,3),(4))。分组查询的传统实现方式是对已排序的数据进行逐行遍历,当发现相邻两行数值不同组时,即找到了组间边界,如例子中的1与2之间、2与3之间、3与4之间。另外,整个数据表的开始与结束,也被视为是组间边界。所以,分组查询的核心问题是确定组间的边界。但是上述逐行遍历的方法只适用于小数据处理,在大数据量的数据表中,通过逐行遍历来确定组间边界的位置难度大大增加,不仅浪费时间和人力物力,而且工作效率很低,根本无法完成大数据快速处理的要求。
技术实现思路
本专利技术要解决的技术问题是提供一种查询速度快、查询精确、耗时短的支持对数据表进行快速查询的数据库系统及查询方法。本专利技术支持对数据表进行快速查询的数据库系统,其中,包括数据表查询器,数据表查询器内部设置有快速分组查询模块、大尺度分组过滤模块、中尺度分组过滤模块和精确分组定位模块,快速分组查询模块用于单个数据表上的分组查询操作;大尺度分组过滤模块用于单个数据表上的大尺度组边界的定位操作;中尺度分组过滤模块用于大尺度组范围内的中尺度组边界的定位操作;精确分组定位模块用于中尺度组范围内的精确组边界的定位操作。本专利技术支持对数据表进行快速查询的数据库系统,其中所述大尺度分组过滤模块的定位范围大于中尺度分组过滤模块的定位范围,中尺度分组过滤模块的定位范围大于精确分组定位模块的定位范围。本专利技术支持对数据表进行快速查询方法,其中,包括如下步骤:步骤S1,查询开始后,在单个数据表上确定起始点;步骤S2,使用大尺度分组过滤模块在起始点与数据表的表尾之间定位组间边界的大尺度范围;步骤S3,使用中尺度分组过滤模块在确定的大尺度范围内定位组间边界的中尺度范围;步骤S4,使用精确分组定位模块在确定的中尺度范围内定位组间边界的精确位置。本专利技术支持对数据表进行快速查询方法,其中所述大尺度分组过滤模块采用等分的方法在起始点与数据表的表尾之间进行定位分组。本专利技术支持对数据表进行快速查询方法,其中所述中尺度分组过滤模块采用2的整数次幂作为步长,每次步长乘2的方法在大尺度范围内进行定位分组。本专利技术支持对数据表进行快速查询方法,其中所述精确分组定位模块采用二分查找方法在中尺度范围内进行定位分组。本专利技术支持对数据表进行快速查询的数据库系统及查询方法与现有技术不同之处在于:本专利技术设置有大尺度分组过滤模块、中尺度分组过滤模块和精确分组定位模块,大尺度分组过滤模块用于单个数据表上的大尺度组边界的定位操作;中尺度分组过滤模块用于大尺度组范围内的中尺度组边界的定位操作;精确分组定位模块用于中尺度组范围内的精确组边界的定位操作,采用上述技术方案,够从大数据量的数据表上快速定位组间边界,极大提高了集群数据库的分组查询操作的速度,提高了集群数据库的实用性,提高了集群数据库的所有包含分组查询动作的功能的性能。下面结合附图对本专利技术支持对数据表进行快速查询的数据库系统及查询方法作进一步说明。附图说明图1为本专利技术支持对数据表进行快速查询的数据库系统的结构示意图;图2为本专利技术支持对数据表进行快速查询方法的流程图;图3为本专利技术支持对数据表进行快速查询的数据库系统及查询方法的实例示意图。具体实施方式如图1所示,为本专利技术支持对数据表进行快速查询的数据库系统的结构示意图,包括数据表查询器1,数据表查询器1内部设置有快速分组查询模块2、大尺度分组过滤模块3、中尺度分组过滤模块4和精确分组定位模块5。快速分组查询模块2分别对大尺度分组过滤模块3、中尺度分组过滤模块4和精确分组定位模块5的工作状态进行控制。通过数据表查询器1对单个数据表上的查询工作进行总的操作控制;快速分组查询模块2通过控制大尺度分组过滤模块3、中尺度分组过滤模块4和精确分组定位模块5,完成对单个数据表上的分组查询操作;大尺度分组过滤模块3用于单个数据表上的大尺度组边界的定位操作;中尺度分组过滤模块4用于大尺度组范围内的中尺度组边界的定位操作;精确分组定位模块5用于中尺度组范围内的精确组边界的定位操作。其中大尺度分组过滤模块3的定位范围大于中尺度分组过滤模块4的定位范围,中尺度分组过滤模块4的定位范围大于精确分组定位模块5的定位范围。如图2所示,为本专利技术支持对数据表进行快速查询方法的流程图,包括如下步骤:步骤S1,查询开始后,在单个数据表上确定起始点P;步骤S2,使用大尺度分组过滤模块3在起始点P与数据表的表尾之间定位组间边界的大尺度范围A到B;步骤S3,使用中尺度分组过滤模块4在数据表上A到B之间定位组间边界的中尺度范围C到D;步骤S4,使用精确分组定位模块5在数据表上C到D之间定位组间边界的精确位置。本专利技术支持对数据表进行快速查询的数据库系统及查询方法可应用于对员工数据按照员工所属部门进行分组、对学生数据按照学生所属年级进行分组、对患者按照性别或者年龄进行分组等。如图3所示,为本专利技术支持对数据表进行快速查询的数据库系统及查询方法的实例示意图。本实施例是一个分组查询过程,在同一年级的300名学生中按年龄进行分组查询,300名学生的年龄已经被排序,具体的年龄组成如下:3名8岁的学生,序号1至3;294名9岁的学生,序号4至297;3名10岁的学生,序号298至300,现在给定起始结点是第4行,要求确定其所在分组的边界。快速分组查询模块2的运行过程如下,序号为I的学生的年龄记为Y(I):1.起始点P=4,Y(P)=8;2.使用大尺度分组过滤模块3,将从整个数据表的数据等分(不限于等分的方法)为3大段(不限于3段,也不限于段长度),一共4个边界点(1,100,200,300),P之后的大尺度边界点的年龄值分别为Y(100)=9、Y(200)=9、Y(300)=10,由此可知,P所在分组的边界在200至300的区域中;3.再使用中尺度分组过滤模块4,在200至300的区域中查询分组边界,具体方法可以使用(但不限于)2的整数次幂的步长,每次步长乘2的方法,即按照如下顺序Y(200)=9,Y(200+1)=9,Y(200+2)=9,Y(200+4)=9,Y(200+8)=9,Y(200+16)=9,Y(200+32)=9,Y(200+64)=9,Y(300)=10,所以分组边界在264至300的区域中;4.最后使用精确分组定位模块5,在264至300的区域内进行精确定位,具体方法可以使用(但不限于)二分查找,即按照如下顺序Y(282)=9,Y(291)=9,Y(295)=9,Y(297)=9,Y(298)=10,所以分组边界在序号297和序号298之间的区域中,从而完成最终的快速分组查询。本专利技术支持对数据表进行快速查询的数据库系统及查询方法,设置有大尺度分组过滤模块3、中尺度分组过滤模块4和精确分组定位模块5,大尺度分组过滤模块3用于单个数据表上的大尺度组边界的定位操作;中尺度分组过滤模块本文档来自技高网...
【技术保护点】
一种支持对数据表进行快速查询的数据库系统,其特征在于:包括数据表查询器(1),数据表查询器(1)内部设置有快速分组查询模块(2)、大尺度分组过滤模块(3)、中尺度分组过滤模块(4)和精确分组定位模块(5),快速分组查询模块(2)用于单个数据表上的分组查询操作;大尺度分组过滤模块(3)用于单个数据表上的大尺度组边界的定位操作;中尺度分组过滤模块(4)用于大尺度组范围内的中尺度组边界的定位操作;精确分组定位模块(5)用于中尺度组范围内的精确组边界的定位操作。
【技术特征摘要】
1.一种支持对数据表进行快速查询的数据库系统,其特征在于:包括数据表查询器(1),数据表查询器(1)内部设置有快速分组查询模块(2)、大尺度分组过滤模块(3)、中尺度分组过滤模块(4)和精确分组定位模块(5),快速分组查询模块(2)用于单个数据表上的分组查询操作;大尺度分组过滤模块(3)用于单个数据表上的大尺度组边界的定位操作;中尺度分组过滤模块(4)用于大尺度组范围内的中尺度组边界的定位操作;精确分组定位模块(5)用于中尺度组范围内的精确组边界的定位操作。2.根据权利要求1所述的支持对数据表进行快速查询的数据库系统,其特征在于:所述大尺度分组过滤模块(3)的定位范围大于中尺度分组过滤模块(4)的定位范围,中尺度分组过滤模块(4)的定位范围大于精确分组定位模块(5)的定位范围。3.一种权利要求1中所采用的支持对数据表进行快速查询方法,其特征在于:包括...
【专利技术属性】
技术研发人员:赵伟,武新,毛永康,
申请(专利权)人:天津南大通用数据技术股份有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。