CN105095255A - 一种数据索引创建方法及装置 - Google Patents
一种数据索引创建方法及装置 Download PDFInfo
- Publication number
- CN105095255A CN105095255A CN201410191061.0A CN201410191061A CN105095255A CN 105095255 A CN105095255 A CN 105095255A CN 201410191061 A CN201410191061 A CN 201410191061A CN 105095255 A CN105095255 A CN 105095255A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- filtering condition
- table data
- object table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明一种数据索引创建方法,包括如下步骤:获取数据过滤条件;根据所述数据过滤条件,对目标表数据进行筛选得到满足数据过滤条件的表数据,并对所述满足数据过滤条件的目标表数据创建索引。相应的,本发明还提供一种数据索引创建装置。本发明所提供的数据索引创建方法,相对于现有技术,索引中的数据量更少,索引使用效率更高,用户通过索引访问数据库的速度更快,且索引的维护成本也较低,更新索引数据更加迅速。本发明提供的数据索引创建装置,采用本发明所提供的数据索引创建方法创建索引,能够降低索引中的数据量和索引的维护成本、提高索引使用效率和SQL语句执行速度。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据索引创建方法及装置。
背景技术
数据库是为适应数据处理的需要而发展起来的一种数据处理装置。数据库系统的萌芽出现于1960年,在1970年提出了数据库的关系模型的概念,在此基础上形成了关系数据库。
关系数据库是建立在关系数据库模型基础上的数据库,具有坚实的数学理论基础。随着信息技术发展,数据库已经渗透到各个行业和应用中,关系数据库在各行各业更是得到了广泛应用。但是,世界已经发生了翻天覆地的变化,与刚提出数据库概念的时代相比,数据特征变化很大。那些结构复杂且量大的数据,统称为大数据。面对这种类型数据,传统的关系数据库系统表现出越来越多的弊端。
关系型数据库采用SQL(StructuredQueryLanguage结构化查询语言)作为数据库操作语言,SQL从提出到现在经过几次修订。1974年,SQL最初由IBM公司实现。1986年美国国家标准局通过数据库语言美国标准。1987年,“国际标准化组织(ISO)”把ANSISQL作为国际标准。1989年,ISO提出了具有完整性特征的SQL89标准。1992年,ISO公布了SQL92标准。
索引是对数据库的数据表中的值进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息。现有技术中,创建数据库索引的方法是:通过分析应用程序对数据库的使用场景,以及分析SQL语句查询条件,然后得到可能需要的索引及其候选字段,最后综合考虑性能等各种因素,确定数据表的一个或者多个列作为索引字段,创建一个或者多个索引。由于每个索引都是针对数据表中所有数据的,所以数据表中任何一条数据的索引字段的值,在索引中都对应一个索引数据。如果任何一条数据的索引字段的值发生增删改变化,都需要增删改索引数据。
面临现代数据特征的变化,现有技术的创建的索引中的数据量大,占用空间也越来越大,使用存储成本越来越高,进而明显影响用户访问数据表信息的效率。同时,索引是在SQL语句执行时使用以使得用户能够快速访问数据,但由于索引中一些数据长期没有被SQL使用,导致索引数据的利用率降低。
此外,索引随着数据增大后,维护成本相应增加,应用访问变得越来越缓慢,进而增加删除数据变得很困难,系统扩展性差,索引的维护成本也提高。在大数据时代,数据在不断膨胀,但是当前的商用关系数据库适用于处理记录数在千万数据量级以内的表。在某些大型系统中,当表数据量达到更高的数量级(例如TB、PB、ZB),由于索引中数据量巨大,不但插入新数据非常困难,而且也难以创建新的索引。
发明内容
有鉴于此,本发明提供一种数据索引创建方法,包括如下步骤:
获取数据过滤条件;
根据所述数据过滤条件,对目标表数据进行筛选得到满足数据过滤条件的表数据,并对所述满足数据过滤条件的目标表数据创建索引。
可选的,根据所述数据过滤条件,对数据库中相应的表数据进行筛选得到满足过滤条件的表数据,并对所述满足过滤条件的表数据创建索引的步骤包括:
读取数据库中的目标表数据;
判断相应的目标表数据是否满足所述数据过滤条件,若是,则执行下一步骤;
对所述满足过滤条件的目标表数据进行计算,得到索引数据;
将所述索引数据写入索引上相应指针的位置。
较佳的,根据所述数据过滤条件,对目标表数据进行筛选得到满足过滤条件的表数据,并对所述满足过滤条件的表数据创建索引的步骤还包括:
将所述索引数据写入索引上相应指针的位置后,判断索引是否创建完毕;若是,则结束;否则返回所述读取数据库中的目标表数据的步骤。
较佳的,所述数据过滤条件包含在创建索引的SQL命令中。
较佳的,所述数据为大数据时,所述数据过滤条件包括:从依据数据生命周期对表数据所做出的分组中,选择用来创建索引的目标组所依据的过滤条件。
较佳的,所述数据过滤条件通过where语句实现,或通过包含范围单词的语句实现,或通过包含列表单词的语句实现。
进一步,本发明提供一种数据索引创建装置,包括:
数据过滤条件获取模块:用于获取数据过滤条件;
索引创建模块:用于根据所述数据过滤条件,对目标表数据进行筛选得到满足过滤条件的表数据,并对所述满足数据过滤条件的表数据创建索引。
可选的,所述索引创建模块包括:表数据读取单元:用于读取数据库中的
目标表数据;
数据过滤条件判断单元:用于判断相应的目标表数据是否满足所述数据过滤条件,并在所述目标表数据满足所述数据过滤条件时触发计算单元;
计算单元:用于对满足数据过滤条件的目标表数据进行计算,得到索引数据;
索引数据写入单元:用于将所述索引数据写入索引上相应指针的位置。
可选的,所述索引创建模块还包括数据判别单元:用于在所述索引数据写入单元将所述索引数据写入索引上相应指针的位置后,判断数据库中是否存在未读取的表数据,并在所述索引未创建完毕的情况下,触发所述表数据读取单元。
较佳的,所述数据过滤条件包含在创建索引的SQL命令中。
较佳的,所述数据为大数据,所述数据过滤条件包括:从依据数据生命周期对表数据所做出的分组中,选择用来创建索引的目标组所依据的选择条件。
较佳的,所述数据过滤条件通过where语句实现,或通过包含范围单词的语句实现,或通过包含列表单词的语句实现。
从上面所述可以看出,通过本发明提供的数据索引创建方法,在创建索引时根据一定的数据过滤条件对目标表数据进行过滤,将不满足数据过滤条件的目标表数据滤除,只针对数据库中的某一部分数据创建索引,从而索引中的数据量将大程度减少。同时经过过滤,基本不被使用的目标表数据滤除在索引之外,这样使得索引的使用效率得到了显著的提高
此外,由于过滤了冗余的表数据,用户通过索引访问数据库的速度得到提升。索引的维护成本也得到降低,索引缩小之后,增加和删除数据的操作变得简便;创建索引的速度得到提高,难度降低,时间减少,使得用户更容易根据其需求创建新的索引。尤其是在对大数据、海量数据创建索引时,本发明所提供的方法能够更加迅速地形成索引。
此外,本发明实施例的数据索引创建方法,允许数据库研发人员根据实际需要,依据数据生命周期对数据库进行管理:数据库研发人员根据本发明实施例,可首先通过用户需求,确定索引的筛选条件,建立相应的索引;然后根据数据生命周期对索引进行维护。在创建索引时,也不再需要将冷热数据从表中分开,也没有数据迁移,数据库设计将更加合理。
本发明所进一步提供的数据索引创建装置,创建的索引数据量小、维护成本低、查询命令执行效率高。此外,更有利于对数据库进行合理的设计和管理。
附图说明
图1为本发明实施例的数据索引创建方法流程图;
图2为图1中所述根据所述数据过滤条件,对目标表数据进行筛选得到满足数据过滤条件的表数据,并对所述满足数据过滤条件的目标表数据创建索引的步骤的一种实施方式流程图;
图3为本发明一种优选实施例的数据索引创建方法流程图;
图4为本发明一种实施例的数据索引创建装置结构示意图。
具体实施方式
为了给出有效的实现方案,本发明提供了以下实施例,以下结合说明书附图对本发明的实施例进行说明。
根据本发明提供的数据索引创建方法,包括以下步骤:
获取数据过滤条件;
根据所述数据过滤条件,对目标表数据进行筛选得到满足数据过滤条件的表数据,并对所述满足数据过滤条件的目标表数据创建索引。
上述方法可以通过图1所示的流程实现,包括如下步骤:
步骤101:获取数据过滤条件。
作为一个实施例,上述数据过滤条件,通过分析用户软件需求,生成创建索引的SQL命令,再解析所述创建索引的SQL指令获得。上述数据过滤条件也可以是数据库接收用户创建索引的指令;从所述创建索引的指令中获取数据过滤条件。
步骤102:根据所述数据过滤条件,对目标表数据进行筛选得到满足数据过滤条件的表数据,并对所述满足数据过滤条件的目标表数据创建索引。
在具体实施例中,可以逐一判断目标表数据是否满足所述数据过滤条件,并在判断某目标表数据满足所述数据过滤条件时,对该目标表数据进行计算,得到索引数据;最后所有满足数据过滤条件目标表数据计算得到的索引数据组成完整的索引。
所述数据过滤条件,可以是对目标表数据内容进行筛选的一个范围条件,例如,对名称、属性、大小、记录时间等等进行筛选的范围条件。
在另外一种具体实施例中,可以先将满足数据过滤条件的所有目标表数据筛选出来,再逐一对满足数据过滤条件的目标表数据进行计算,最终创建完整的索引。
通过本发明提供的数据索引创建方法,在创建索引时根据一定的数据过滤条件对目标表数据进行过滤,将不满足数据过滤条件的目标表数据滤除,只针对数据库中的某一部分数据创建索引,从而索引中的数据量将大程度减少。同时可根据使用需要对数据进行过滤,这样使得索引的使用效率得到了显著的提高。尤其是当需要创建索引的数据为大数据时,本发明所提供的方法在创建效率等方面的优势更为显著。
此外,由于过滤了冗余的表数据,用户通过索引访问数据库的速度得到提升。索引的维护成本也得到降低,索引缩小之后,增加和删除数据的操作变得简便;创建索引的速度得到提高,难度降低,时间减少,使得用户更容易根据其需求创建新的索引。
若在一种具体实施例中,所述数据过滤条件通过分析用户以SQL方式发送的创建指令获得,则上述步骤101可包括:
接收用户创建索引的SQL指令;
解析所述创建索引的SQL指令,从所述创建索引的SQL指令中获取数据过滤条件。
结合图1,在一种具体实施例中,上述步骤102还可以通过如图2所示的流程实现,包括如下步骤:
步骤201:读取数据库中的目标表数据。
作为一个实施例,所述目标表数据,是指数据库中与索引相关的数据表中的表数据。
步骤202:判断相应的目标表数据是否满足所述数据过滤条件,若是,则执行下一步骤。
作为一个实施例,在判断相应的目标表数据是否满足所述数据过滤条件时,若判断不满足所述数据过滤条件,则不需要对该目标表数据创建索引。
步骤203:对所述满足过滤条件的表数据进行计算,得到索引数据。
步骤204:将所述索引数据写入索引上相应指针的位置。
步骤205:判断索引是否创建完毕;若是,则进入步骤206;若否,则返回步骤201。
在对目标数据表中的数据先后依次计算索引数据的情况下,每次计算之后,若判断目标数据表中还存在剩余的、未读取的数据,则可得知索引还未创建完毕。所述目标数据表在本实施例中指目标表数据所对应的数据表。在步骤205中若判断所述索引已经创建完毕,则执行下一步骤。
步骤206:结束。
参照图1和图2,在一些实施例中,为了实现步骤102,应当执行至少包含有步骤201-步骤204的一个流程。
在一些实施例中,所述数据过滤条件包括用户创建索引命令中所包含的数据过滤条件。具体的,所述数据过滤条件包括:从用户创建索引命令所对应的SQL语句中获得数据过滤条件。
具体的,所述数据过滤条件包括反映用户操作需求的数据过滤条件;所述数据过滤条件可通过分析用户对该表创建索引时可能的采用操作,从操作所对应的SQL语句中获得,删除不同SQL语句中所包含的相同的数据过滤条件,得到创建索引所需要的多个不同的或一个数据过滤条件。
在现实生活中,数据具有一定的生命周期,通常情况下,用户对较新的数据操作更频繁,对历史越久远的数据操作越少。在现有数据库技术条件下,为了满足执行效率需求,数据库研发人员将同一张表分为在线表和历史表;在线表保存最近的的少量数据,其余数据保存在历史表。从在线表到历史表的数据迁移工作具有很大工作量,整个过程消耗大量系统IO(输入输出)和CPU。
针对于此,本发明的一些实施例中,当所述目标表数据数据为大数据时,所述数据过滤条件包括:从依据数据生命周期对表数据所做出的分组中,选择用来创建索引的目标组所依据的选择条件。
研发人员研发时,依据数据生命周期,对大数据目标数据表中的数据进行分组;然后本实施例首先根据数据过滤条件,从所述数据分组中选取一个或多个分组作为目标组,得到满足数据过滤条件的表数据。所述数据过滤条件包括从所述一个或多个分组中选择目标组所依据的过滤条件。
具体的,在对所述至少一个表中的数据进行分组时,可通过分析数据表结构,找到可作为时间轴的字段,将这些字段组成时间轴,根据时间轴获得表数据在生命周期中所处的阶段,对数据库中的表数据进行划分。更具体的,可按天为单位划分。
将大数据表分组后,即可根据分析用户操作需求所得到的数据过滤条件,选取其中一个或多个分组作为目标组,对目标组创建索引,所述目标组的选择条件包含在创建索引的数据过滤条件中。将这样的数据过滤条件加入创建索引的SQL语句中,最后根据所述创建索引的SQL语句对目标表数据创建索引。
现有技术中所采用的数据分组方式,往往会将同一个时间阶段的数据分开,例如,将热点数据和非热点数据分开,分别创建索引。然而同一时间阶段的数据索引结构基本相同,例如热点数据和非热点数据的索引结构基本相同,采用本发明上述实施例所提供的方法,可以从依据数据生命周期对数据库中的数据所做出的分组中选择目标组,得到满足过滤条件的表数据,再建立对应的索引,有利于对索引结构相同的不同类型数据创建统一的索引,进而在处理大数据的过程中具有更高的效率。
上述分析用户需求可以是分析用户访问数据库时,相应的SQL查询语句中的查询条件。
采用本发明所提供的方法,数据库研发人员根据实际需要,通过用户需求,确定索引的筛选条件,建立相应的索引,不再需要将冷热数据从表中分开,也没有数据迁移,数据库设计将更加合理。
不同时间范围内的数据,用户具有不同的操作需求,需要对索引进行相应修改。针对于此,在本发明的另一些实施例中,本发明提供的数据索引创建方法,还包括在表数据生命周期的不同阶段对索引进行管理:依据目标表数据在所述数据生命周期对应的阶段变动,对所述索引进行更改。具体的,例如,状态字段上建立的索引往往是用于查询操作状态和更新的;若历史数据没有更新,就不再需要状态字段上的索引,需要将相应的索引数据删除。再如,如果用户不再关心一年以上的超期数据,需要删除一年范围之前的索引。
在一些实施例中,所述数据过滤条件通过where语句实现。
在当前SQL语法中,where是数据库中的一个指令,用于规定选择的条件,应用于select(选择)、delete(删除)、update(更新)语句中。本发明实施例在创建索引的语句中,数据过滤条件通过where语句实现;也就是说,通过执行相应的where语句,对目标表数据进行过滤。
更具体的,所述where语句包括where指令和条件表达式。所述条件表达式可以由列、常量和运算符等组合而成。
进一步,所述where语句可以设置于当前SQL创建索引语句的末端。
为了避免数据库研发人员滥用where语句带来的负面效果,在本发明的一些实施例中,所述数据过滤条件通过包含范围单词的语句实现。所述范围单词可以是range指令、或before指令等。
为了避免数据库研发人员滥用where语句带来的负面效果,在本发明的一些实施例中,所述数据过滤条件还通过包含列表单词的语句实现。所述列表单词可以是list指令。
在本发明的一种优选实施例中,所述数据索引创建方法包括如图3所示的步骤:
步骤301:接收用户创建索引的指令。
所述创建索引的指令,包括创建索引的SQL指令。
步骤302:从所述创建索引的指令中获取数据过滤条件。
步骤303:读取目标表数据。作为一个实施例,目标表数据指创建索引的指令所对应的数据库中的表数据。
步骤304:判断所读取的目标表数据是否满足所述数据过滤条件;若是,则执行下一步骤;若否,则执行步骤307。
步骤305:对目标表数据进行计算,得到索引数据。
步骤306:将所述索引数据写入索引上相应的指针位置。
步骤307:判断数据库中是否存在未读取的目标表数据;若是,进入步骤408;若否,返回步骤303。
步骤308:结束。
进一步,本发明还提供一种数据索引创建装置,如图4所示,至少包括:
数据过滤条件获取模块:用于获取数据过滤条件;
索引创建模块:用于根据所述数据过滤条件,对目标表数据进行筛选得到满足过滤条件的表数据,并对满足数据过滤条件的表数据创建索引。
本发明提供的数据索引创建装置,在创建索引时根据一定的数据过滤条件对目标表数据进行过滤,将不满足数据过滤条件的目标表数据滤除,只依据数据过滤条件对数据库的目标表数据进行过滤,得到满足过滤条件的表数据,针对所述满足过滤条件的表数据创建索引,从而索引中的数据量将大程度减少。满足数据过滤条件的数据所占目标表数据量比率越小,本发明提供的索引创建装置提高索引创建的速度效果越明显;尤其面临海量数据时,本发明提供的装置能够以更快的速度创建出索引。同时,根据过滤条件创建的索引,整个索引的使用效率也得到显著提高。
所述数据过滤条件可以通过分析用户以SQL方式发送的创建指令获得,也可以通过分析用户操作需求而获得。
若所述数据过滤条件通过分析用户以SQL方式发送的创建指令获得,则所述数据过滤条件获取模块可进一步包括:
创建指令接收单元:用于接收用户创建索引的指令。
创建指令分析单元:用于从所述创建索引的指令中获取数据过滤条件。
参照图4,在一些实施例中,所述索引创建模块进一步包括:
表数据读取单元:用于读取数据库中的目标表数据;
数据过滤条件判断单元:用于判断相应的目标表数据是否满足所述数据过滤条件,并在所述目标表数据满足所述数据过滤条件时触发计算单元;
计算单元:用于对满足所述数据过滤条件的目标表数据进行计算,得到索引数据;
索引数据写入单元:用于将所述索引数据写入索引上相应指针的位置。
参照图4,所述索引创建模块还包括数据判别单元:对于目标表数据分批处理的情况,用于在所述索引数据写入单元将所述索引数据写入索引上相应指针的位置后,判断整个索引是否创建完毕,并在整个索引未创建完毕的情况下,触发所述表数据读取单元继续处理目标表剩余待处理数据,直到处理完毕。
在一些实施例中,所述数据过滤条件可以包括用户创建索引命令中所包含的数据过滤条件。
在另一些实施例中,所述数据过滤条件可以从分析用户操作需求所得到创建索引指令中获得。
具体的,所述数据过滤条件包括反映用户操作需求的数据过滤条件;所述数据过滤条件可通过分析用户对该目标表数据可能的查询、更新、删除操作,从操作所对应的SQL语句中获得,删除不同SQL语句中所包含的相同的数据过滤条件,得到用户对该表操作的主要过滤条件,然后综合考虑性能等各方面应属后,最后得到创建索引所需要的多个不同的或一个数据过滤条件。
在一些实施例中,所述目标表数据为数据表中的所有数据。
在一些实施例中,所述数据为大数据,数据过滤条件包括:从依据数据生命周期对表数据所做出的分组中,选择用来创建索引的目标组所依据的选择条件。
研发人员研发时,依据数据生命周期,对大数据目标数据表中的数据进行分组;然后本实施例首先根据数据过滤条件,从所述数据分组中选取一个或多个分组作为目标组,得到满足数据过滤条件的表数据。所述数据过滤条件包括从所述一个或多个分组中选择目标组所依据的过滤条件。
具体的,在对所述大数据表中的数据进行分组时,可根据分析用户操作需求所得到的数据分组条件,分析数据表结构,找到可作为时间轴的字段,将这些字段组成时间轴,根据时间轴获得表数据在生命周期中所处的阶段,对数据库中的表数据进行划分为多个分组。更具体的,可按天为单位划分。
将大数据分组后,即可根据分析用户操作需求所得到的数据过滤条件,选取其中一个或多个分组作为目标组,所述目标组的选择条件是所述数据过滤条件。将这样的数据过滤条件加入创建索引的SQL语句中,最后根据所述创建索引的SQL语句对目标表数据创建索引。
在一些实施例中,所述数据过滤条件通过where语句实现,或通过包含范围单词的语句实现,或通过包含列表单词的语句实现。
在本发明的一种优选实施例中,所述大数据索引装置包括数据过滤条件获取模块和索引创建模块。
所述数据过滤条件获取模块用于获取数据过滤条件,进一步包括:
创建指令接收单元:用于接收用户创建索引的指令;
创建指令分析单元:用于从所述创建索引的指令中获取数据过滤条件。
所述索引创建模块,用于根据所述数据过滤条件,对目标表数据进行筛选得到满足过滤条件的表数据,并对满足数据过滤条件的表数据创建索引,进一步包括:
表数据读取单元:用于读取目标表数据;作为一个实施例,目标表数据指创建索引的指令所对应的数据库中的表数据;
数据过滤条件判断单元:用于判断所读取的目标表数据是否满足所述数据过滤条件;
计算单元:用于对目标表数据进行计算,得到索引数据;
索引数据写入单元:用于将所述索引数据写入索引上相应的指针位置;
数据判别单元:用于在所述索引数据写入单元将所述索引数据写入索引上相应指针的位置后,判断所述索引是否创建完毕,并在数据库中存在未读取的目标表数据的情况下,触发所述表数据读取单元。
从上面所述可以看出,本发明实施例所提供的数据索引创建装置,创建的索引数据量少、使用率高,能使得用户通过索引访问数据库的速度得到提升;同时还能够降低索引的维护成本,使得索引更新更加容易。此外,本发明实施例所提供的数据索引创建装置,依据大数据生命周期对数据进行管理,有助于提高数据库设计的合理性。
应当理解,本说明书所描述的多个实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种数据索引创建方法,其特征在于,包括如下步骤:
获取数据过滤条件;
根据所述数据过滤条件,对目标表数据进行筛选得到满足数据过滤条件的表数据,并对所述满足数据过滤条件的目标表数据创建索引。
2.根据权利要求1所述的方法,其特征在于,根据所述数据过滤条件,对数据库中相应的表数据进行筛选得到满足过滤条件的表数据,并对所述满足过滤条件的表数据创建索引的步骤包括:
读取数据库中的目标表数据;
判断相应的目标表数据是否满足所述数据过滤条件,若是,则执行下一步骤;
对所述满足过滤条件的目标表数据进行计算,得到索引数据;
将所述索引数据写入索引上相应指针的位置。
3.根据权利要求2所述的方法,其特征在于,根据所述数据过滤条件,对目标表数据进行筛选得到满足过滤条件的表数据,并对所述满足过滤条件的表数据创建索引的步骤还包括:
将所述索引数据写入索引上相应指针的位置后,判断索引是否创建完毕;若是,则结束;否则返回所述读取数据库中的目标表数据的步骤。
4.根据权利要求1所述的方法,其特征在于,所述数据过滤条件包含在创建索引的SQL命令中。
5.根据权利要求4所述的方法,其特征在于,所述目标表数据为大数据时,所述数据过滤条件包括:从依据数据生命周期对目标表数据所做出的分组中,选择用来创建索引的目标组所依据的选择条件。
6.根据权利要求4所述的方法,其特征在于,所述数据过滤条件通过where语句实现,或通过包含范围单词的语句实现,或通过包含列表单词的语句实现。
7.一种数据索引创建装置,其特征在于,包括:
数据过滤条件获取模块:用于获取数据过滤条件;
索引创建模块:用于根据所述数据过滤条件,对目标表数据进行筛选得到满足过滤条件的表数据,并对所述满足数据过滤条件的表数据创建索引。
8.根据权利要求7所述的装置,其特征在于,所述索引创建模块包括:
表数据读取单元:用于读取数据库中的目标表数据;
数据过滤条件判断单元:用于判断相应的目标表数据是否满足所述数据过滤条件,并在所述目标表数据满足所述数据过滤条件时触发计算单元;
计算单元:用于对满足数据过滤条件的目标表数据进行计算,得到索引数据;
索引数据写入单元:用于将所述索引数据写入索引上相应指针的位置。
9.根据权利要求8所述的装置,其特征在于,所述索引创建模块还包括数据判别单元:用于在所述索引数据写入单元将所述索引数据写入索引上相应指针的位置后,判断数据库中是否存在未读取的表数据,并在所述索引未创建完毕的情况下,触发所述表数据读取单元。
10.根据权利要求7所述的装置,其特征在于,所述数据过滤条件包含在创建索引的结构化查询语言SQL命令中。
11.根据权利要求10所述的装置,其特征在于,所述目标表数据为大数据,所述数据过滤条件包括:从依据数据生命周期对表数据所做出的分组中,选择用来创建索引的目标组所依据的选择条件。
12.根据权利要求10所述的装置,其特征在于,所述数据过滤条件通过where语句实现,或通过包含范围单词的语句实现,或通过包含列表单词的语句实现。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410191061.0A CN105095255A (zh) | 2014-05-07 | 2014-05-07 | 一种数据索引创建方法及装置 |
PCT/CN2014/082640 WO2015168988A1 (zh) | 2014-05-07 | 2014-07-21 | 一种数据索引创建方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410191061.0A CN105095255A (zh) | 2014-05-07 | 2014-05-07 | 一种数据索引创建方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105095255A true CN105095255A (zh) | 2015-11-25 |
Family
ID=54392048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410191061.0A Pending CN105095255A (zh) | 2014-05-07 | 2014-05-07 | 一种数据索引创建方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105095255A (zh) |
WO (1) | WO2015168988A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776702A (zh) * | 2016-11-11 | 2017-05-31 | 北京奇虎科技有限公司 | 一种处理主从式数据库系统中的索引的方法和装置 |
CN108460052A (zh) * | 2017-02-22 | 2018-08-28 | 中兴通讯股份有限公司 | 一种自动创建索引的方法、装置及数据库系统 |
CN109145004A (zh) * | 2018-08-29 | 2019-01-04 | 智慧互通科技有限公司 | 一种创建数据库索引的方法及装置 |
CN109189328A (zh) * | 2018-08-02 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种适用于NAND Flash控制器的索引表保护方法 |
CN110019190A (zh) * | 2017-09-21 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 创建索引的方法和装置 |
CN112612818A (zh) * | 2020-12-21 | 2021-04-06 | 贝壳技术有限公司 | 一种数据处理方法及装置、计算设备和存储介质 |
CN114691677A (zh) * | 2020-12-31 | 2022-07-01 | 深圳云天励飞技术股份有限公司 | 一种数据搜索方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477524A (zh) * | 2008-12-11 | 2009-07-08 | 金蝶软件(中国)有限公司 | 基于物化视图的系统性能优化方法及系统 |
CN103425672A (zh) * | 2012-05-17 | 2013-12-04 | 阿里巴巴集团控股有限公司 | 一种数据库索引的建立方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8412701B2 (en) * | 2010-09-27 | 2013-04-02 | Computer Associates Think, Inc. | Multi-dataset global index |
CN103092886B (zh) * | 2011-11-07 | 2016-03-02 | 中国移动通信集团公司 | 一种数据查询操作的实现方法、装置及系统 |
CN103377210B (zh) * | 2012-04-19 | 2016-12-14 | 北京四维图新科技股份有限公司 | 建立增量型导航数据库的方法和对数据库进行更新的方法 |
CN103020305A (zh) * | 2012-12-29 | 2013-04-03 | 天津南大通用数据技术有限公司 | 一种针对二维数据表的高效索引及创建和查询方法 |
-
2014
- 2014-05-07 CN CN201410191061.0A patent/CN105095255A/zh active Pending
- 2014-07-21 WO PCT/CN2014/082640 patent/WO2015168988A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477524A (zh) * | 2008-12-11 | 2009-07-08 | 金蝶软件(中国)有限公司 | 基于物化视图的系统性能优化方法及系统 |
CN103425672A (zh) * | 2012-05-17 | 2013-12-04 | 阿里巴巴集团控股有限公司 | 一种数据库索引的建立方法及装置 |
Non-Patent Citations (3)
Title |
---|
NELSONALOOR: ""sql server: part 9: filtered index: a new way for performance improvemnt"", 《HTTP://WWW.SQLSERVERCENTRAL.COM/BLOGS/PRACTICALSQLDBA/2013/04/08/SQL-SERVER-PART-9-FILTERED-INDEX-A-NEW-WAY-FOR-PERFORMANCE-IMPROVEMNT/》 * |
SETH DELCONTE: ""Introduction to SQL Server Filtered Indexes"", 《HTTPS://WWW.RED-GATE.COM/SIMPLE-TALK/SQL/PERFORMANCE/INTRODUCTION-TO-SQL-SERVER-FILTERED-INDEXES/ 》 * |
王欣: ""SQL Server设定过滤条件提高索引效率"", 《HTTP://DATABASE.51CTO.COM/ART/201005/201949.HTM》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776702A (zh) * | 2016-11-11 | 2017-05-31 | 北京奇虎科技有限公司 | 一种处理主从式数据库系统中的索引的方法和装置 |
CN106776702B (zh) * | 2016-11-11 | 2021-03-05 | 北京奇虎科技有限公司 | 一种处理主从式数据库系统中的索引的方法和装置 |
CN108460052A (zh) * | 2017-02-22 | 2018-08-28 | 中兴通讯股份有限公司 | 一种自动创建索引的方法、装置及数据库系统 |
CN108460052B (zh) * | 2017-02-22 | 2022-11-01 | 中兴通讯股份有限公司 | 一种自动创建索引的方法、装置及数据库系统 |
CN110019190A (zh) * | 2017-09-21 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 创建索引的方法和装置 |
CN110019190B (zh) * | 2017-09-21 | 2023-05-30 | 阿里云计算有限公司 | 创建索引的方法和装置 |
CN109189328A (zh) * | 2018-08-02 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种适用于NAND Flash控制器的索引表保护方法 |
CN109189328B (zh) * | 2018-08-02 | 2021-06-25 | 郑州云海信息技术有限公司 | 一种适用于NAND Flash控制器的索引表保护方法 |
CN109145004A (zh) * | 2018-08-29 | 2019-01-04 | 智慧互通科技有限公司 | 一种创建数据库索引的方法及装置 |
CN112612818A (zh) * | 2020-12-21 | 2021-04-06 | 贝壳技术有限公司 | 一种数据处理方法及装置、计算设备和存储介质 |
CN112612818B (zh) * | 2020-12-21 | 2022-04-15 | 贝壳找房(北京)科技有限公司 | 一种数据处理方法及装置、计算设备和存储介质 |
CN114691677A (zh) * | 2020-12-31 | 2022-07-01 | 深圳云天励飞技术股份有限公司 | 一种数据搜索方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2015168988A1 (zh) | 2015-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095255A (zh) | 一种数据索引创建方法及装置 | |
CN110321344B (zh) | 关联数据的信息查询方法、装置、计算机设备及存储介质 | |
CN105608223B (zh) | 针对kafka的Hbase数据库的入库方法和系统 | |
CN103186566B (zh) | 一种数据分级存储方法、装置及系统 | |
WO2017019879A1 (en) | Multi-query optimization | |
EP3456360A1 (en) | Device and method for tuning relational database | |
US11132383B2 (en) | Techniques for processing database tables using indexes | |
US20120323923A1 (en) | Sorting Data in Limited Memory | |
WO2017096892A1 (zh) | 索引构建方法、查询方法及对应装置、设备、计算机存储介质 | |
CN106021484A (zh) | 基于内存计算的可定制多模式大数据处理系统 | |
CN102063500A (zh) | 一种数据迁移的方法及装置 | |
US20070250517A1 (en) | Method and Apparatus for Autonomically Maintaining Latent Auxiliary Database Structures for Use in Executing Database Queries | |
Li et al. | ASLM: Adaptive single layer model for learned index | |
CN103699660A (zh) | 一种大规模网络流式数据缓存写入的方法 | |
CN102426582A (zh) | 数据操作管理装置和数据操作管理方法 | |
Chai et al. | LDC: a lower-level driven compaction method to optimize SSD-oriented key-value stores | |
Lu et al. | TridentKV: A read-optimized LSM-tree based KV store via adaptive indexing and space-efficient partitioning | |
Kalavri et al. | Block sampling: Efficient accurate online aggregation in mapreduce | |
Costa et al. | A survey on data-driven performance tuning for big data analytics platforms | |
CN109902101A (zh) | 基于SparkSQL的透明分区方法及装置 | |
US8112458B1 (en) | User segmentation user interface | |
Lan et al. | A lightweight time series main-memory database for IoT real-time services | |
CN105653830A (zh) | 一种基于模型驱动的数据分析方法 | |
CN104794567B (zh) | 一种基于HBase的传染病数据管理方法 | |
US7966333B1 (en) | User segment population techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |
|
RJ01 | Rejection of invention patent application after publication |