数据检索方法、装置、服务器和存储介质制造方法及图纸

技术编号:20272415 阅读:50 留言:0更新日期:2019-02-02 03:37
本发明专利技术公开了一种数据检索方法、装置、服务器和存储介质,获取数据检索条件;确定待检索分区,待检索分区为分区特征与数据检索条件有交集的分区;确定数据检索结果,数据检索结果为待检索分区中符合数据检索条件的数据集合,通过根据数据检索条件和分区特征确定检索分区之后,在检索分区中再根据数据检索条件确定数据检索结果,解决了现有技术中对待检索分区中的每一条数据均需要与检索条件匹配的问题,实现了降低数据检索的时间成本,提高查询效率。

【技术实现步骤摘要】
数据检索方法、装置、服务器和存储介质
本专利技术实施例涉及大数据技术,尤其涉及一种数据检索方法、装置、服务器和存储介质。
技术介绍
随着数据库的信息系统应用领域的不断扩大和应用时间不断增长,数据量急剧上涨。为提升大表的查询和操作效率,分区表被广泛使用在数据库的信息系统中,主流数据库管理系统均支持分区表。分区表通过将一个大表中的大量数据按照用户指定的规则拆分成不同的分区进行存储和管理,大大提升了对表的操作和查询效率。对分区表不同的检索方式,仍然会造成查询效率的很大不同。一般来说,根据分区表的检索条件不同,对分区表的检索方式会所有不同,表1为检索条件和检索方式的对应关系,如下表1所示。表1从表1中可以看出,除了全分区检索需要扫描所有分区,其他的方式均可以通过检索条件的范围减少检索分区的个数,提高查询效率。但是,范围检索方式虽然可以减少扫描分区的个数,但对于待检索的分区,对其中的每一条数据均需要进行检索条件的比较,在分区数据量较大的情况下,检索时间久,速度慢,对查询性能的影响很大。
技术实现思路
本专利技术提供一种数据检索方法、装置、服务器和存储介质,解决了现有技术中对待检索分区的每一条数据均需要与检索条件匹配的问题。第一方面,本专利技术实施例提供了一种数据检索方法,包括:获取数据检索条件;确定待检索分区,所述待检索分区为分区特征与所述数据检索条件有交集的分区;确定数据检索结果,所述数据检索结果为所述待检索分区中符合所述数据检索条件的数据集合。第二方面,本专利技术实施例还提供了一种数据检索装置,包括:获取模块,用于获取数据检索条件;第一确定模块,用于确定待检索分区,所述待检索分区为分区特征与所述数据检索条件有交集的分区;第二确定模块,用于确定数据检索结果,所述数据检索结果为所述待检索分区中符合所述数据检索条件的数据集合。第三方面,本专利技术实施例还提供了一种服务器,所述服务器包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中所述的数据检索方法。第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面中所述的数据检索方法。上述实施例提供的数据检索方法、装置、服务器和存储介质,获取数据检索条件;确定待检索分区,待检索分区为分区特征与数据检索条件有交集的分区;确定数据检索结果,数据检索结果为待检索分区中符合数据检索条件的数据集合,通过根据数据检索条件和分区特征确定待检索分区之后,在待检索分区中再根据数据检索条件确定数据检索结果,解决了现有技术中对待检索分区中的每一条数据均需要与检索条件匹配的问题,实现了降低数据检索的时间成本,提高查询效率。附图说明图1为本专利技术实施例一提供的数据检索方法的流程图;图2为本专利技术实施例二提供的数据检索方法的流程图;图3为本专利技术实施例三提供的数据检索方法的流程图;图4为本专利技术实施例四提供的数据检索装置的结构示意图;图5为本专利技术实施例五提供的一种服务器的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的数据检索方法的流程图,本实施例可适用于检索分区表数据的情况,该方法可以由数据检索装置来执行。在本实施例中,数据库是长期储存在计算机内、有组织的、可共享的数据集合。表是数据库中数据存储的基本单元,是对数据进行操纵的逻辑实体。表由列和行组成,每一行代表一个单独的记录。表中包含一组固定的列,列也称为字段。目前常见的表分区为水平分区,是将表中的数据行按照指定规则存放到不同的分区中,分区类型包括范围分区、列表分区和哈希分区三种类型。为了方便理解,本实施例先简单介绍一下这三种分区的概念。范围分区是指对表中的一个或多个列的范围进行分区,根据列值所处的范围,决定将该数据存储在哪个分区上。如根据序号分区,根据业务记录的创建日期进行分区等。示例性的,createtablet1(c1int,c2int)partitionbyrange(c1)(partitionp1valueslessthan(10),partitionp2valueslessthan(20));创建范围分区表t1,分区列为c1,包含两个分区p1,p2。其中p1范围为:c1<10;所有c1<10的数据存储在p1分区,c1<10是p1分区的分区特征。p2范围为:10≤c1<20;所有10≤c1<20的数据存储在p2分区。10≤c1<20是p2分区的分区特征。需要说明的是,相邻分区之间的分区特征的数据范围是连续的。哈希分区是根据列值的哈希值进行均匀分布,尽可能地实现各分区所散列的数据相等。示例性的,createtablet2(c3int,c4int)partitionbyhash(c3)(partitionp3,partitionp4);创建哈希分区表t2,分区列为c3,包含两个分区p3,p4。数据通过数据库内部的哈希函数计算得到一个哈希值,哈希值与分区数取模,得到所属的分区。列表分区是指明确指定了根据某列的某个具体值进行分区,而不是像范围分区那样根据列的值范围来划分的。如:根据位置、颜色进行分区等。示例性的:createtablet3(c5varchar(10),c6int)partitionbylist(c5)(partitionp5values(‘上海’,’北京’),partitionp6values(‘广州’,’深圳’);创建列表分区表t3,分区列为c5,包含两个分区p5,p6。其中p5分区中所有数据的c5分区列均为‘上海’或者‘北京’,p6分区中所有数据的c5分区列均为‘广州’或者‘深圳’。c5为‘上海’或者‘北京’是p5分区的分区特征,c5为‘广州’或者‘深圳’是p6分区的分区特征。具体的,如图1所示,本专利技术实施例提供的数据检索方法,主要包括如下步骤:S110、获取数据检索条件。在本实施例中,数据检索条件是指用户需要获取的数据的相关信息。优选的,数据检索条件可以是单个数值、或者一个数据范围、或者多个数据范围、或者单个离散量、或者多个离散量等。示例性的,数据检索条件可以是:x<20,也可以是x=20,还可以是x为广州的业务量等。其中,具体的数据检索条件可以根据分区表的实际情况设定。本实施例中仅仅是对数据检索条件进行说明,而非限定。进一步的,在本实施例中,数据检索条件的获取方式可以根据实际情况设定。例如:设定接收到外置设备发送的数据检索语句时,对上述检索语句进解析,将数据检索语句解析为数据库可以识别的数据检索条件。其中,外置设备包括但不限定于:计算机、智能手机等。再如,设定当数据库执行完特定的功能后,自动生成并获取数据检索条件。S120、确定待检索分区,待检索分区为分区特征与数据检索条件有交集的分区。在本实施例中,分区特征是指表进行分区的条件或者范围。在表进行分区时,将符合分区特征的数据本文档来自技高网...

【技术保护点】
1.一种数据检索方法,其特征在于,包括:获取数据检索条件;确定待检索分区,所述待检索分区为分区特征与所述数据检索条件有交集的分区;确定数据检索结果,所述数据检索结果为所述待检索分区中符合所述数据检索条件的数据集合。

【技术特征摘要】
1.一种数据检索方法,其特征在于,包括:获取数据检索条件;确定待检索分区,所述待检索分区为分区特征与所述数据检索条件有交集的分区;确定数据检索结果,所述数据检索结果为所述待检索分区中符合所述数据检索条件的数据集合。2.根据权利要求1所述的数据检索方法,其特征在于,所述确定数据检索结果包括:所述分区特征为所述数据检索条件的子集,则所述分区特征对应的待检索分区中的全部数据在所述数据检索结果中。3.根据权利要求2所述的数据检索方法,其特征在于,所述分区特征为所述数据检索条件的子集包括:所述分区特征和所述数据检索条件的形式为数值范围,则,数值范围被所述数据检索条件的数值范围覆盖的分区特征为所述数据检索条件的子集。4.根据权利要求2所述的数据检索方法,其特征在于,所述分区特征为所述数据检索条件的子集包括:所述分区特征和所述数据检索条件的形式为特征列表,则,全部特征在所述数据检索条件中的分区特征为所述数据检索条件的子集。5.一种数据检索装置,其特征在于,包括:获取模块,用于获取数据检索条件;第一确定模块,用于确定待检索分区,所述待检索分区为分区特征与所述数据检索条件有交集的分区;第二确定模块,用于确定数据检索结果,...

【专利技术属性】
技术研发人员:朱仲颖万伟韩朱忠
申请(专利权)人:上海达梦数据库有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1