CN102207935A - 用于创建索引的方法和系统 - Google Patents
用于创建索引的方法和系统 Download PDFInfo
- Publication number
- CN102207935A CN102207935A CN201010136973XA CN201010136973A CN102207935A CN 102207935 A CN102207935 A CN 102207935A CN 201010136973X A CN201010136973X A CN 201010136973XA CN 201010136973 A CN201010136973 A CN 201010136973A CN 102207935 A CN102207935 A CN 102207935A
- Authority
- CN
- China
- Prior art keywords
- index
- intermediate result
- row
- leaf node
- pointer
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (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
本公开公开了一种用于为数据库创建索引的方法和系统,其中方法包括:选取数据库表的至少一列作为创建索引的依据;根据该至少一列产生至少一个树结构的索引,其中该至少一个索引的叶节点中存储的指针为空值。创建的索引可以重复使用,而且能够使中间结果得到有效利用,进而能够提高数据库操作的效率。
Description
技术领域
本发明涉及数据库领域。更确切的,本发明涉及数据库领域中为数据库创建索引的方法和系统。
背景技术
随着计算机技术的发展,数据库的应用越来越广泛,数据库的容量也日益增长。为了对数据库进行快速查询,现有的数据库管理系统通常为数据库建立索引。索引是建立在数据库表中的某些列的上面的。一般来说,在这些列上创建索引:1)在经常需要搜索的列上,可以加快搜索的速度;2)在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;3)在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;4)在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;5)在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;6)在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度,等等。
创建索引可以大大提高数据库系统的性能。通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性,可以大大加快数据的检索速度,还可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
在现有的数据库管理系统中,B+Tree索引是最常见的索引结构,默认建立的索引就是这种类型的索引。B+Tree索引是一种平衡树,是基于二叉树的,由根节点、中间节点和叶节点组成。根节点、中间节点和叶节点都位于索引页中,统称为索引节点。其中,不存在父亲节点的是根节点,不存在子节点的是叶节点,位于根节点和叶节点之间的是中间节点。其中,根节点存储指向中间节点的指针;中间节点位于根节点和叶级节点之间,存储指向下一级中间节点或叶节点的指针;而叶节点则存储指向数据页(即数据的物理存储位置)的指针。
一个数据库查询往往是多重的,假设有两个表T1和T2,其中T1有两个索引:在第一列(col1)上的索引T1_i1以及在第二列(col2)上的索引T1_i2,以如下查询为例:
Select*from T1,T2where T1.col1=T2.col1 and T1.col2>=60 and T1.col2<90
数据库管理系统首先利用条件T1.col2>=60 and T1.col2<90扫描索引T1_i2获得中间结果并将中间结果复制到内存或其他临时的存储位置中,这时,中间结果对应于表T1中由第二列索引的第60行到第90行的内容。然后,利用该中间结果的第一列与表T2的第一列进行匹配得到查询结果。这时,由于表T1的第一列(col1)上的索引T1_i1的叶节点中存储的是指向原表T1中数据的物理存储位置的指针,而中间结果被复制到内存或其他临时的存储位置,因此,索引T1_i1中的指针对中间结果来说将变得无效。也就是说,中间结果不能利用索引T1_i1,因此,对中间结果只能进行全表遍历。
发明内容
由于对于中间结果,已经存在的索引中的指针变得无效,索引带来的好处将不能得到利用。而且,在大型企业应用中,数据库表的容量往往很大,对数据库表的全表遍历将大量耗费计算资源。
本公开的说明性实施例认识到现有技术中的缺点,提供了一种用于为数据库创建索引的方法,包括:选取数据库表的至少一列作为创建索引的依据;根据该至少一列产生至少一个树结构的索引,其中该至少一个索引的叶节点中存储的指针为空值。
根据本公开的另一方面,用于为数据库创建索引的方法还包括如果有中间结果生成,则根据中间结果向叶节点中存储的指针赋值,其中被赋值的叶节点中存储的指针指向存储中间结果的数据页。
根据本公开的另一方面,用于为数据库创建索引的方法还包括响应于利用中间结果进行运算的完成,将叶节点中存储的指针重置为空值。
根据本公开的一个方面,提供了一种用于为数据库创建索引的系统,包括:选取部件,被配置用于选取数据库表的至少一列作为创建索引的依据;产生部件,被配置用于根据该至少一列产生至少一个树结构的索引,其中该至少一个的叶节点中存储的指针为空。
根据本公开的另一方面,用于为数据库创建索引的系统还包括指针赋值部件,被配置用于如果有中间结果生成,则根据中间结果向叶节点中存储的指针赋值,其中被赋值的叶节点中存储的指针指向存储中间结果的数据页。
根据本公开的另一方面,用于为数据库创建索引的系统还包括指针重置部件,被配置为用于响应于利用中间结果进行运算的完成,将叶节点中存储的指针重置为空值。
根据本公开的方法和系统,产生的索引可以重复使用,而且,由于能够利用索引对中间结果进行运算,也大大提高了数据库操作的效率。
附图说明
本公开可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。在附图中:
图1显示了根据本公开一个实施例的用于为数据库创建索引的方法100;
图2示例性地显示了索引的根节点、中间节点和叶节点生成的过程;
图3显示了根据本公开一个实施例的用于为数据库创建索引的系统300。
具体实施方式
在下文中将结合附图对本公开的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于该实际实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与根据本公开的方案密切相关的装置结构和/或处理步骤,而省略了与本公开关系不大的其他细节。
如背景技术部分描述的,现有的数据库管理系统中,B+Tree索引是最常见的索引结构。下面,将以B+Tree作为示例对发明进行描述,但所属领域技术人员知道,对于其他类型的索引,只要具有类似的结构都能应用本发明,利用B+Tree作为示例只是出于说明的目的,而不能作为对本发明的限制。
下面参考图1,其中显示了根据本公开一个实施例的用于为数据库创建索引的方法100。
如图1所示,根据本公开一个实施例的用于为数据库创建索引的方法100从步骤102开始。接下来,方法100进入步骤104,其中,选取数据库表的一列或多列作为创建索引的依据。这些列包括:1)经常需要搜索的列上,可以加快搜索的速度;2)作为主键的列,强制该列的唯一性和组织表中数据的排列结构;3)经常用在连接的列,这些列主要是一些外键,可以加快连接的速度;4)经常需要根据范围进行搜索的列,因为索引已经排序,其指定的范围是连续的;5)经常需要排序的列,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;6)经常使用在WHERE子句中的列,可以加快条件的判断速度,等等。然后,方法100进入步骤106,其中根据该一列或多列产生索引的根节点、中间节点以及叶节点,其中叶节点中存储的指针为空值。
下面结合图2a-2d,通过一个简单的例子介绍生成索引的根节点、中间节点以及叶节点的过程,这里需要说明,这里只是一种示例性的介绍,除了这里介绍的生成索引的根节点、中间节点以及叶节点的方式,还可以采用现有技术中的任何其他方式。同时,如何生成索引的根节点、中间节点以及叶节点不是本发明对现有技术做出的改进。
假设所选取的列中有如下值:
40,59,60,66,70,72,73,75,76,78,80,83,86,90,...
首先插入第一个值40生成根节点,然后产生根节点的子节点,在该子节点中,值40作为其中的一个条目,如图2a所示。
然后继续插入后面一个值59。每个子节点中所能存储的条目的数量有限,这里假设该数量为M(M为一个预先定义的值)。这时,首先判断值59插入到该子节点中是否会导致该子节点存储的条目数量大于M,本例中值59的插入不会导致该子节点存储的条目数量大于M,因此直接插入到该子节点中,如图2b所示。
然后,继续插入后面一个值60。这时,仍需首先判断值60插入到该子节点中是否会导致该子节点存储的条目数量大于M,本例中值60的插入会导致该子节点存储的条目数量大于M,这时,需要把该子节点分裂成两个含有M/2个条目的节点。具体的做法是,创建一个新的节点,将原来节点后一半的值拷贝到新创建的节点。将新创建的节点的地址和含有的最小值写入其父亲节点。如图2c所示。
之后,继续插入后面的值。如果在插入的过程中,把子节点分裂之后将新创建的节点所含有的最小值写入其父亲节点后,其父亲节点条目的数量也大于M,则按照相似的方法分裂该父亲节点,直到没有节点需要分裂。如果根节点需要分裂,则需要加入一个节点作为该根节点的新的根节点(该根节点将作为新的根节点的子节点)。在将所有的值插入之后索引的结构如图2d所示。
以上示例性的介绍了生成索引的根节点、中间节点以及叶节点的过程。再次说明,上面的介绍仅仅是示例性的,可以采用任何其他的方式来生成索引的根节点、中间节点以及叶节点。
与现有技术不同的,根据本公开的一个实施例,生成的索引的叶节点中存储的指针为空值(NULL)。至此,根据本公开一个实施例的方法用于为数据库创建索引的方法100结束。
图1中还显示了可选步骤108。在步骤108,如果有中间结果生成,则根据中间结果向叶节点中存储的指针赋值,其中被赋值的叶节点中存储的指针指向存储中间结果的数据页。数据库管理系统在进行数据库查询时会将获得中间结果复制到内存或其他临时的存储位置中。这时,如果有中间结果的产生,根据中间结果向叶节点中存储的指针赋值,其中被赋值的叶节点中存储的指针指向存储中间结果的数据页,即中间结果的物理存储位置,具体可能是存储中间结果的内存,或者是其他临时的存储位置。具体地,从作为创建索引的依据的至少一列中确定需要利用中间结果进行下一步运算所涉及的列,并根据中间结果向所确定的列对应的索引的叶节点中存储的指针赋值。
仍以前面提到的查询为例,其中表T1有两个索引:在第一列(col1)上的索引T1_i1以及在第二列(col2)上的索引T1_i2:
Select*from T1,T2 where T1.col1=T2.col1 and T1.col2>=60 and T1.col2<90
根据本发明的一个实施例,数据库管理系统首先会为表T1创建两个索引:对应于第一列(col1)的索引T1_i1’和对应于第二列(col2)的索引T1_i2’。在执行上述查询时,数据库管理系统可以首先根据条件T1.col2>=60 and T1.col2<90,对第二列(col2)上的索引T1_i2进行扫描,以获得中间结果并将中间结果复制到内存或其他临时的存储位置中。这时,中间结果对应于表T1中由第二列索引的第60行到第90行的内容。根据本发明的一个实施例,首先从作为创建索引的依据的至少一列中确定需要利用中间结果进行下一步运算所涉及的列。在该查询中,作为创建索引的依据的列是第一列(col1)和第二列(col2);数据库管理系统需要利用该中间结果的第一列与表T2的第一列进行匹配以得到查询结果。也就是说,需要利用中间结果进行下一步运算所涉及的列是第一列。然后,根据中间结果向所确定的列对应的索引的叶节点中存储的指针赋值。对该查询来说,就是向第一列(col1)对应的索引T1_i1’的叶节点中存储的指针赋值。这时,被赋值的叶节点中存储的指针指向存储中间结果的数据页,即中间结果(表T1中由第二列索引的第60行到第90行的内容)在内存或其他临时的存储位置中的物理存储位置。经过上述赋值,根据前述方法创建的索引的叶节点中存储的指针指向了存储中间结果的数据页,因此,可以利用经过赋值的索引对中间结果进行后续操作。
现有技术中对于中间结果,已经存在的索引会变得无效。与之相比,根据本公开的方法,创建的索引的叶节点中存储的指针经过赋值,指向了存储中间结果的数据页。因此,中间结果可以用于进行后续的运算,从而大大提高了数据查询的效率。
图1中还显示了可选步骤110。在步骤110,响应于利用中间结果进行运算的完成,将叶节点中存储的指针重置为空值。这些运算包括合并(join)、过滤(filter)、排序(order by)或分组(group by)等操作。当使用根据本公开的方法创建的索引利用中间结果进行上述运算完成之后,将叶节点中存储的指针重置为空值。之后,如果再次生成中间结果,可以再次根据中间结果向已经重置指针的叶节点中存储的指针再次赋值,即该索引可以被重复使用。
现在参考图3,其中显示了根据本公开一个实施例的用于为数据库创建索引的系统300。
如图3所示,用于为数据库创建索引的系统300包括选取部件302,被配置用于选取数据库表的一列或多列作为创建索引的依据;产生部件304,被配置用于根据该一列或多列产生索引的根节点、中间节点以及叶节点,其中叶节点中存储的指针为空。图3还显示了可选部件:指针赋值部件306,,被配置用于如果有中间结果生成,则根据中间结果向叶节点中存储的指针赋值,其中被赋值的叶节点中存储的指针指向存储中间结果的数据页,其中优选地,仅在中间结果对应的叶节点中插入指针;以及指针重置部件308,,被配置为用于响应于利用中间结果进行运算的完成,将叶级节点中存储的指针重置为空值;其中运算包括合并、过滤、排序或分组操作。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本公开的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本公开的说明的情况下运用他们的基本编程技能就能实现的。
因此,本公开的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本公开的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本公开,并且存储有这样的程序产品的存储介质也构成本公开。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
还需要指出的是,在本公开的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
虽然已经详细说明了本公开及其优点,但是应当理解在不脱离由所附的权利要求所限定的本公开的精神和范围的情况下可以进行各种改变、替代和变换。而且,本申请的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
Claims (10)
1.一种用于为数据库创建索引的方法,包括:
选取数据库表的至少一列作为创建索引的依据;
根据该至少一列产生至少一个树结构的索引,其中该至少一个索引的叶节点中存储的指针为空值。
2.根据权利要求1的方法,还包括:
如果有中间结果生成,则根据中间结果向叶节点中存储的指针赋值,其中被赋值的叶节点中存储的指针指向存储中间结果的数据页。
3.根据权利要求2的方法,其中根据中间结果向叶节点中存储的指针赋值包括:
从作为创建索引的依据的至少一列中确定需要利用中间结果进行下一步运算所涉及的列;以及
根据中间结果向所确定的列对应的索引的叶节点中存储的指针赋值。
4.根据权利要求2的方法,还包括:
响应于利用中间结果进行运算的完成,将叶节点中存储的指针重置为空值。
5.根据权利要求4的方法,其中:
运算包括合并、过滤、排序或分组操作。
6.一种用于为数据库创建索引的系统,包括:
选取部件,被配置用于选取数据库表的至少一列作为创建索引的依据;
产生部件,被配置用于根据该至少一列产生至少一个树结构的索引,其中该至少一个的叶节点中存储的指针为空。
7.根据权利要求6的系统,还包括:
指针赋值部件,被配置用于如果有中间结果生成,则根据中间结果向叶节点中存储的指针赋值,其中被赋值的叶节点中存储的指针指向存储中间结果的数据页。
8.根据权利要求7的系统,其中产生部件用于:
从作为创建索引的依据的至少一列中确定需要利用中间结果进行下一步运算所涉及的列;以及
根据中间结果向所确定的列对应的索引的叶节点中存储的指针赋值。
9.根据权利要求7的系统,还包括:
指针重置部件,被配置为用于响应于利用中间结果进行运算的完成,将叶节点中存储的指针重置为空值。
10.根据权利要求9的系统,其中:
运算包括合并、过滤、排序或分组操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010136973XA CN102207935A (zh) | 2010-03-30 | 2010-03-30 | 用于创建索引的方法和系统 |
US13/073,377 US8892566B2 (en) | 2010-03-30 | 2011-03-28 | Creating indexes for databases |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010136973XA CN102207935A (zh) | 2010-03-30 | 2010-03-30 | 用于创建索引的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102207935A true CN102207935A (zh) | 2011-10-05 |
Family
ID=44696773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010136973XA Pending CN102207935A (zh) | 2010-03-30 | 2010-03-30 | 用于创建索引的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8892566B2 (zh) |
CN (1) | CN102207935A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015161550A1 (zh) * | 2014-04-24 | 2015-10-29 | 中兴通讯股份有限公司 | 管理索引的方法、装置及计算机存储介质 |
US9305112B2 (en) | 2012-09-14 | 2016-04-05 | International Business Machines Corporation | Select pages implementing leaf nodes and internal nodes of a data set index for reuse |
CN106484750A (zh) * | 2015-09-01 | 2017-03-08 | 爱思开海力士有限公司 | 数据处理系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8280869B1 (en) * | 2009-07-10 | 2012-10-02 | Teradata Us, Inc. | Sharing intermediate results |
WO2014109127A1 (ja) * | 2013-01-11 | 2014-07-17 | 日本電気株式会社 | インデックス生成装置及び方法並びに検索装置及び検索方法 |
US10733163B2 (en) | 2017-09-14 | 2020-08-04 | International Business Machines Corporation | Record insertion by generating unique index bases |
US11126401B2 (en) * | 2019-09-18 | 2021-09-21 | Bank Of America Corporation | Pluggable sorting for distributed databases |
CN112579575A (zh) * | 2020-12-28 | 2021-03-30 | 超越科技股份有限公司 | 一种数据库索引结构的快速构建方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6513034B1 (en) * | 1999-04-16 | 2003-01-28 | International Business Machines Corporation | Deriving uniqueness for indices on summary tables |
CN101082918A (zh) * | 2006-06-02 | 2007-12-05 | 凌阳科技股份有限公司 | 一种利用字母索引表查询电子词典单词的方法及其系统 |
CN101587484A (zh) * | 2009-06-19 | 2009-11-25 | 南京航空航天大学 | 一种基于T-lt树的主存数据库的索引方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480839B1 (en) | 2000-07-18 | 2002-11-12 | Go2Market.Com | System and method for improving database data manipulation using direct indexing within a B*tree index having a tunable index organization |
US6804677B2 (en) * | 2001-02-26 | 2004-10-12 | Ori Software Development Ltd. | Encoding semi-structured data for efficient search and browsing |
US7240066B2 (en) * | 2003-05-19 | 2007-07-03 | Microsoft Corporation | Unicode transitional code point database |
US7191174B2 (en) | 2003-05-22 | 2007-03-13 | International Business Machines Corporation | Method, query optimizer, and computer program product for implementing live switchover to temporary sparse index for faster query performance |
US7299224B2 (en) | 2003-12-19 | 2007-11-20 | International Business Machines Corporation | Method and infrastructure for processing queries in a database |
US7685104B2 (en) | 2004-01-08 | 2010-03-23 | International Business Machines Corporation | Dynamic bitmap processing, identification and reusability |
US7254574B2 (en) * | 2004-03-08 | 2007-08-07 | Microsoft Corporation | Structured indexes on results of function applications over data |
US7925642B2 (en) * | 2005-06-09 | 2011-04-12 | International Business Machines Corporation | Apparatus and method for reducing size of intermediate results by analyzing having clause information during SQL processing |
US20080183663A1 (en) * | 2007-01-31 | 2008-07-31 | Paul Reuben Day | Dynamic Index Selection for Database Queries |
US8412700B2 (en) | 2008-01-11 | 2013-04-02 | International Business Machines Corporation | Database query optimization using index carryover to subset an index |
US7792823B2 (en) | 2008-01-15 | 2010-09-07 | International Business Machines Corporation | Maintained symbol table only index |
CN101685449B (zh) * | 2008-09-26 | 2012-07-11 | 国际商业机器公司 | 一种用于连接多个异构分布式数据库中的表的方法和系统 |
US8706715B2 (en) * | 2009-10-05 | 2014-04-22 | Salesforce.Com, Inc. | Methods and systems for joining indexes for query optimization in a multi-tenant database |
US8103658B2 (en) * | 2009-11-13 | 2012-01-24 | Oracle International Corporation | Index backbone join |
-
2010
- 2010-03-30 CN CN201010136973XA patent/CN102207935A/zh active Pending
-
2011
- 2011-03-28 US US13/073,377 patent/US8892566B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6513034B1 (en) * | 1999-04-16 | 2003-01-28 | International Business Machines Corporation | Deriving uniqueness for indices on summary tables |
CN101082918A (zh) * | 2006-06-02 | 2007-12-05 | 凌阳科技股份有限公司 | 一种利用字母索引表查询电子词典单词的方法及其系统 |
CN101587484A (zh) * | 2009-06-19 | 2009-11-25 | 南京航空航天大学 | 一种基于T-lt树的主存数据库的索引方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9305112B2 (en) | 2012-09-14 | 2016-04-05 | International Business Machines Corporation | Select pages implementing leaf nodes and internal nodes of a data set index for reuse |
US9378305B1 (en) | 2012-09-14 | 2016-06-28 | International Business Machines Corporation | Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse |
US9733833B2 (en) | 2012-09-14 | 2017-08-15 | International Business Machines Corporation | Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse |
US10394452B2 (en) | 2012-09-14 | 2019-08-27 | International Business Machines Corporation | Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse |
US10901619B2 (en) | 2012-09-14 | 2021-01-26 | International Business Machines Corporation | Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse |
WO2015161550A1 (zh) * | 2014-04-24 | 2015-10-29 | 中兴通讯股份有限公司 | 管理索引的方法、装置及计算机存储介质 |
CN106484750A (zh) * | 2015-09-01 | 2017-03-08 | 爱思开海力士有限公司 | 数据处理系统 |
CN106484750B (zh) * | 2015-09-01 | 2020-10-16 | 爱思开海力士有限公司 | 数据处理系统 |
Also Published As
Publication number | Publication date |
---|---|
US20110246479A1 (en) | 2011-10-06 |
US8892566B2 (en) | 2014-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102207935A (zh) | 用于创建索引的方法和系统 | |
US9805079B2 (en) | Executing constant time relational queries against structured and semi-structured data | |
US11169978B2 (en) | Distributed pipeline optimization for data preparation | |
Kwon et al. | A study of skew in mapreduce applications | |
US11461304B2 (en) | Signature-based cache optimization for data preparation | |
CN103765381B (zh) | 对b+树的并行操作 | |
CN101452487B (zh) | 一种数据加载的方法、系统及数据加载装置 | |
CN111680198B (zh) | 基于文件分割与特征提取的档案管理系统及方法 | |
CN105653716A (zh) | 一种基于分类-属性-值的数据库构造方法和构造系统 | |
US10642815B2 (en) | Step editor for data preparation | |
CN103678550A (zh) | 一种基于动态索引结构的海量数据实时查询方法 | |
CN104111936A (zh) | 数据查询方法和系统 | |
CN103440246A (zh) | 用于MapReduce的中间结果数据排序方法及系统 | |
EP3362808B1 (en) | Cache optimization for data preparation | |
CN106484815B (zh) | 一种基于海量数据类sql检索场景的自动识别优化方法 | |
CN101430741A (zh) | 一种短序列映射方法及系统 | |
CN103761298A (zh) | 一种基于分布式架构的实体匹配方法 | |
US20210056090A1 (en) | Cache optimization for data preparation | |
CN109388638B (zh) | 用于分布式大规模并行处理数据库的方法及系统 | |
US11288447B2 (en) | Step editor for data preparation | |
CN118132670A (zh) | 时序超图数据的存储和查询方法及系统 | |
CN113836197A (zh) | 一种基于Spark框架的关系型数据库分布式读取方法及装置 | |
Chen et al. | Incrementally mining temporal patterns in interval-based databases | |
Seera et al. | Analyzing cost parameters affecting map reduce application performance | |
Seera et al. | An efficient approach to optimise I/O cost in data-intensive applications using inverted indexes on HDFS splits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111005 |