CN115587100A - 关系型数据库的管理方法及装置 - Google Patents
关系型数据库的管理方法及装置 Download PDFInfo
- Publication number
- CN115587100A CN115587100A CN202211313884.7A CN202211313884A CN115587100A CN 115587100 A CN115587100 A CN 115587100A CN 202211313884 A CN202211313884 A CN 202211313884A CN 115587100 A CN115587100 A CN 115587100A
- Authority
- CN
- China
- Prior art keywords
- data
- column
- data table
- hidden
- target data
- 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/2282—Tablespace storage structures; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请一个或多个实施例提供一种关系型数据库的管理方法及装置,该方法包括:获取用于在关系型数据库中创建目标数据表的创建指令;其中,所述创建指令包括与所述目标数据表中的基础数据列对应的列信息;响应于所述创建指令,基于所述列信息,在所述关系型数据库中创建包括所述基础数据列和隐藏数据列的所述目标数据表;其中,所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立树形结构的唯一索引;其中,所述隐藏数据列中与所述目标数据表中的数据行对应的数据包括单调递增的数值。
Description
技术领域
本申请一个或多个实施例涉及数据库技术领域,尤其涉及一种关系型数据库的管理方法及装置。
背景技术
关系型数据库,是指采用了关系模型来组织数据的数据库,通常以行和列的形式存储数据。在关系型数据库中,一系列的数据行和数据列被称为数据表,一组数据表组成了数据库。通常,数据表中的一行数据是一条数据记录(record),一列数据是与一个字段(field)对应的数据。
对于关系型数据库中的数据表而言,如果所操作的数据量庞大且需要与其他表进行关联查询,或者所操作的数据是临时性数据且在短期内需要执行大量DML(DataManipulation Language,数据操作语言)操作,又或者需要进行多表链接查询,直接针对原始的数据表进行操作的效率较低。在这些场景下,通常借助临时数据表来提高效率。顾名思义,临时数据表是一个临时的数据表,在使用完之后就会销毁。
然而,虽然临时数据表可以带来一些便利,但是临时数据表中频繁发生的插入、删除等DML操作,会导致针对临时数据表的查询性能不稳定、耗时较长。因此,如何优化针对临时数据表的查询,也就成为了亟待解决的问题。
发明内容
本申请一个或多个实施例提供技术方案如下:
本申请提供一种关系型数据库的管理方法,所述方法包括:
获取用于在关系型数据库中创建目标数据表的创建指令;其中,所述创建指令包括与所述目标数据表中的基础数据列对应的列信息;
响应于所述创建指令,基于所述列信息,在所述关系型数据库中创建包括所述基础数据列和隐藏数据列的所述目标数据表;其中,所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;
在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立树形结构的唯一索引;其中,所述隐藏数据列中与所述目标数据表中的数据行对应的数据包括单调递增的数值。
本申请还提供一种关系型数据库的查询方法,所述方法包括:
获取用于对目标数据表进行全表扫描的查询指令;其中,所述目标数据表为响应于用于在关系型数据库中创建目标数据表的创建指令,基于所述创建指令包括的与所述目标数据表中的基础数据列对应的列信息,在所述关系型数据库中创建的包括所述基础数据列和隐藏数据列的数据表;所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立了树形结构的唯一索引;
响应于所述查询指令,在所述查询指令中添加与所述隐藏数据列对应的查询条件,以对所述查询指令进行更新;
执行更新后的所述查询指令,基于所述树形结构的唯一索引针对所述目标数据表进行查询,以查询所述目标数据表中各数据行记录的数据。
本申请还提供一种关系型数据库的管理装置,所述装置包括:
第一获取模块,获取用于在关系型数据库中创建目标数据表的创建指令;其中,所述创建指令包括与所述目标数据表中的基础数据列对应的列信息;
表创建模块,响应于所述创建指令,基于所述列信息,在所述关系型数据库中创建包括所述基础数据列和隐藏数据列的所述目标数据表;其中,所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;
索引建立模块,在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立树形结构的唯一索引;其中,所述隐藏数据列中与所述目标数据表中的数据行对应的数据包括单调递增的数值。
本申请还提供一种关系型数据库的查询装置,所述装置包括:
第二获取模块,获取用于对目标数据表进行全表扫描的查询指令;其中,所述目标数据表为响应于用于在关系型数据库中创建目标数据表的创建指令,基于所述创建指令包括的与所述目标数据表中的基础数据列对应的列信息,在所述关系型数据库中创建的包括所述基础数据列和隐藏数据列的数据表;所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立了树形结构的唯一索引;
更新模块,响应于所述查询指令,在所述查询指令中添加与所述隐藏数据列对应的查询条件,以对所述查询指令进行更新;
查询模块,执行更新后的所述查询指令,基于所述树形结构的唯一索引针对所述目标数据表进行查询,以查询所述目标数据表中各数据行记录的数据。
本申请还提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
在上述技术方案中,在获取到用于在关系型数据库中创建数据表的创建指令时,可以基于该创建指令中的与待创建的数据表中的基础数据列对应的列信息,在关系型数据库中创建包括该基础数据列以及扩展出的独立于该基础技数据列的隐藏数据列的数据表,并基于该隐藏数据列中与该数据表中的数据行对应的数值,为该数据表建立树形结构的唯一索引,使得后续可以基于该树形结构的唯一索引针对该数据表进行查询。
采用上述方式,在为关系型数据库中的数据表建立树形结构的索引时,选用的数据并不是该数据表包括的基础数据列中的数据,而通常该基础数据列中的数据是由设备或软件服务等在实际运行的过程中产生的,这些数据的离散度不受控制,因此可以避免用于建立树形索引的数据出现离散的问题,影响针对数据表的查询性能和查询耗时。与之相应地,由于在数据表中添加了隐藏数据列,并基于该隐藏数据列中与该数据表中的数据行对应的单调递增的数值建立树形结构的索引,使得用于建立树形索引的数据的离散度得到控制,从而可以提高针对数据表的查询性能,并降低相应的查询耗时。此外,使用单调递增的数值建立的索引可以是唯一索引,从而可以保证基于该唯一索引针对该数据表进行查询时的精准度。
附图说明
图1是本申请一示例性实施例示出的一种B-Tree的示意图。
图2是本申请一示例性实施例示出的一种关系型数据库的管理方法的流程图。
图3是本申请一示例性实施例示出的另一种B-Tree的示意图。
图4是本申请一示例性实施例示出的一种关系型数据库的查询方法的流程图。
图5是本申请一示例性实施例示出的一种设备的硬件结构的示意图。
图6是本申请一示例性实施例示出的一种关系型数据库的管理装置的框图。
图7是本申请一示例性实施例示出的一种关系型数据库的查询装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本申请示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本申请所描述的更多或更少。此外,本申请中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本申请中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
在对本申请一个或多个实施例进行详细说明之前,先对本申请一个或多个实施例涉及的应用场景进行简单说明。
数据库系统(Database System)通常可以包括数据库(Database,DB)、硬件、软件等部分。其中,数据库是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合,数据库中的数据按照特定的数学模型进行组织、描述和存储;硬件是构成计算机系统的各种物理设备,还包括存储所需的外部设备,硬件的配置应满足整个数据库系统的需要;软件可以进一步包括操作系统、数据库管理系统(Database Management System,DBMS)和应用程序。数据库管理系统是数据库系统的核心软件,是在操作系统的支持下工作,解决如何科学地组织和存储数据,如何高效地获取和维护数据的系统软件,其主要功能包括:数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护。
在数据库系统中,数据库管理系统通常使用存储引擎针对数据库执行DDL(DataDefinition Language,数据定义语言)操作和DML操作。存储引擎就是如何存储数据,如何为数据建立索引以及如何查询、更新数据等技术的实现方法。一个数据库系统通常支持多种存储引擎,以满足不同场景的数据库应用需要。
关系型数据库系统即为包括关系型数据库的数据库系统。在关系型数据库系统中,临时数据表通常不会被序列化到磁盘上,而是存在于内存中,在使用完之后就会被销毁。临时数据表可以分为两种:会话(session)级别的临时数据表和事务(transaction)级别的临时数据表。其中,会话级别的临时数据表在整个会话期间都存在,直到会话结束后消失;事务级别的临时数据表在事务结束后消失,即在提交或回滚(commit/rollback)事务后,或者结束会话时,都会清除事务级别的临时数据表。在大多数情况下,临时数据表中都会频繁发生插入、删除等DML操作。
索引(Index)是帮助关系型数据库系统高效地获取数据的数据结构。在关系型数据库系统中,通过索引可以对数据表中的一列或多列数据进行排序,由此可以使用索引快速地查询数据表中的特定数据。索引包括数据表中的一列或多列数据的集合,以及相应的指向数据表中这些数据的、物理标识数据页的逻辑指针清单,也即,索引可以提供指向存储在数据表中的特定数据列中的数据的指针,因此可以使用索引查找到特定数据,然后根据相应的指针查找到包含该数据的数据行。
在实际应用中,由于一个关系型数据库系统通常支持多种存储引擎,而一个存储引擎通常又支持多种索引,就使得一个关系型数据库系统支持多种索引,例如:B-Tree索引、哈希索引、全文索引等。目前大多数数据库系统和文件系统都采用B-Tree或其变种B+Tree作为索引的数据结构。B-Tree是一种平衡多叉排序树,是一种动态查找效率很高的树形结构,适用于读取和写入相对较大的数据块的数据库系统、文件系统等存储系统。
为了描述B-Tree,首先定义一条数据记录为一个二元组[key,data]。其中,key为这条数据记录的键值;data为这条数据记录中除key外的其他数据。对于B-Tree索引而言,一个二元组[key,data]表示一行数据,key为这行数据中用于建立索引的数据列中的数据,data为这行数据中除了用于建立索引的数据列中的数据之外的其他数据。在这种情况下,B-Tree可以是至少满足下列条件的数据结构:
1、m为大于1的一个正整数,称之为B-Tree的阶,也可称之为B-Tree的度。
2、一个节点至多拥有m个子节点,根节点至少拥有2个子节点,非根且非叶节点至少拥有[m/2]([]表示向上取整)。
3、根节点中的key的个数在1至m-1的范围内,非根节点中的key的个数在[m/2]-1至m-1的范围内。
4、一个节点中的key从左到右非递减排列。
5、一个节点拥有的从左到右的第n个子节点中的所有key,小于这个节点中从左到右的第n个key,大于这个节点中从左到右的第n-1个key。
例如,假设关系型数据库中的数据表如下表1所示:
表1
其中,ID1为第一列的列名,X1-X15表示第一列中的数据;ID2为第二列的列名,Y1-Y15表示第二列中的数据;ID3为第三列的列名。X1-X15和Y1-Y15是相同或不同的数值。
对于如上表1所示的数据表而言,如果以第三列中的数据作为B-Tree索引中的key,则建立的3阶B-Tree索引如图1所示。需要说明的是,如图1所示的B-Tree索引仅示出了其中各个节点中的key,而未示出其他数据。
B+Tree与B-Tree的区别主要在于一个节点拥有的子节点的个数的上限不同,以及B+Tree中的非叶节点不存储data而只存储key。
在实际应用中,存在一些需要对关系型数据库中的数据表进行全表扫描的情况。对于该数据表而言,如果并未基于其中与查询所使用的数据对应的数据列建立索引,那么就需要对该数据表进行全表扫描。当然,如果要对该数据表进行全列查询,即查询该数据表中所有数据行和所有数据列中的数据,则也需要对该数据表进行全表扫描。
以如上表1所示的数据表为例,假设要查询与Y6和Y7这两个数据对应的数据行中的所有数据,则由于该数据表的索引是基于第三列中的数据建立的,而查询所使用的Y6和Y7是第二列中的数据,就需要对该数据表进行全表扫描,以得到与Y6和Y7这两个数据对应的数据行中的所有数据。
然而,对于以B-Tree或B+Tree为内存存储引擎的关系型数据库系统而言,如果临时数据表中用于建立索引的数据列中的数据本身较为离散,或者由于临时数据表中被频繁地插入或删除数据行而导致该临时数据表中用于建立索引的数据列中的数据变得离散,则会导致针对临时数据表的查询性能不稳定、耗时较长。
以如上表1所示的数据表为例,该数据表中的第三列中的数据本身较为离散,就会出现第10行和第11行这相邻的两行的数据,存储在B-Tree索引中的100-120-110和100-20-5这两个截然不同的分叉上的情况,即B-Tree索引中与相邻的数据行对应的节点较为分散,从而影响针对临时数据表的查询性能和查询耗时。
本申请提出一种用于关系型数据库的管理的技术方案,以优化针对关系型数据库中的数据表的查询。在该技术方案中,在获取到用于在关系型数据库中创建数据表的创建指令时,可以基于该创建指令中的与待创建的数据表中的基础数据列对应的列信息,在关系型数据库中创建包括该基础数据列以及扩展出的独立于该基础技数据列的隐藏数据列的数据表,并基于该隐藏数据列中与该数据表中的数据行对应的数值,为该数据表建立树形结构的唯一索引,使得后续可以基于该树形结构的唯一索引针对该数据表进行查询。
在具体实现时,首先可以获取用于在关系型数据库中创建数据表(称之为目标数据表)的指令(称之为创建指令)。其中,创建指令可以包括列信息,该列信息可以是与目标数据表中的基础数据列对应的列信息。
在获取到上述创建指令的情况下,可以进一步地响应于创建指令,基于创建指令中的列信息,在上述关系型数据库中创建上述目标数据表。此时,所创建的目标数据表除了包括与该列信息对应的上述基础数据列之外,还可以包括隐藏数据列。其中,隐藏数据列为扩展出的独立于基础数据列的数据列。
在上述目标数据表创建完成之后,由于目标数据表包括上述隐藏数据列,可以基于隐藏数据列中的数据,为目标数据表建立树形结构的唯一索引(Unique Index)。其中,隐藏数据列中与目标数据表中的数据行对应的数据可以包括单调递增的数值。
采用上述方式,在为关系型数据库中的数据表建立树形结构的索引时,选用的数据并不是该数据表包括的基础数据列中的数据,而通常该基础数据列中的数据是由设备或软件服务等在实际运行的过程中产生的,这些数据的离散度不受控制,因此可以避免用于建立树形索引的数据出现离散的问题,影响针对数据表的查询性能和查询耗时。与之相应地,由于在数据表中添加了隐藏数据列,并基于该隐藏数据列中与该数据表中的数据行对应的单调递增的数值建立树形结构的索引,使得用于建立树形索引的数据的离散度得到控制,从而可以提高针对数据表的查询性能,并降低相应的查询耗时。此外,使用单调递增的数值建立的索引可以是唯一索引,从而可以保证基于该唯一索引针对该数据表进行查询时的精准度。
请参考图2,图2是本申请一示例性实施例示出的一种关系型数据库的管理方法的流程图。
对于关系型数据库系统而言,可以采用上述关系型数据库的管理方法对其中的关系型数据库进行管理,例如:在关系型数据库中创建数据表。在这种情况下,该关系型数据库的管理方法可以应用于该关系型数据库系统中的数据库管理系统,由该数据库管理系统对该关系型数据库系统中的关系型数据库进行管理。
在一些实施例中,上述关系型数据库可以包括OceanBase,OceanBase是一种分布式关系型数据库。
上述关系型数据库的管理方法可以包括以下步骤:
步骤202:获取用于在关系型数据库中创建目标数据表的创建指令;其中,所述创建指令包括与所述目标数据表中的基础数据列对应的列信息。
在本实施例中,首先可以获取用于在关系型数据库中创建数据表(称之为目标数据表)的指令(称之为创建指令)。其中,创建指令可以包括列信息,该列信息可以是与目标数据表中的基础数据列对应的列信息。
在实际应用中,与数据列对应的列信息可以包括该数据列的列名,以及该数据列中的数据的数据类型等信息。
例如,可以获取用于在该关系型数据库中创建目标数据表的DDL语句,并将该DDL语句转化为处理器可执行的创建指令。
以如下所示的DDL语句为例:
create table tmp_test(id1 int,id2 int)
该DDL语句表示在关系型数据库中创建表名为tmp_test的数据表,该数据表中包括两列,这两列的列名分别为id1和id2,并且这两列中的数据均为int类型的数据。在这种情况下,可以将该DDL语句转化为处理器可执行的指令,使得处理器可以通过执行该指令,在关系型数据库中创建该数据表。
在此例中,在上述关系型数据库中创建的上述目标数据表的表名即为tmp_test,id1和int即为与目标数据表中的第一个基础数据列对应的列信息,id2和int即为与目标数据表中的第二个基础数据列对应的列信息。
在一些实施例中,上述目标数据表可以包括在短时间内多次执行插入和/或删除操作的数据表,即频繁发生插入、删除等DML操作的数据表。
进一步地,在一些实施例中,上述目标数据表具体可以是临时数据表。
步骤204:响应于所述创建指令,基于所述列信息,在所述关系型数据库中创建包括所述基础数据列和隐藏数据列的所述目标数据表;其中,所述隐藏数据列为扩展出的独立于所述基础数据列的数据列。
在本实施例中,在获取到上述创建指令的情况下,可以进一步地响应于创建指令,基于创建指令中的列信息,在上述关系型数据库中创建上述目标数据表。此时,所创建的目标数据表除了包括与该列信息对应的上述基础数据列之外,还可以包括隐藏数据列。其中,隐藏数据列为扩展出的独立于基础数据列的数据列。
需要说明的是,上述基础数据列和上述隐藏数据列均为关系型数据库中的数据表中的数据列。基础数据列和隐藏数据列的区别在于首先获取到的上述创建指令中是否包括与其对应的列信息。
在一些实施例中,可以采用以下几种不同的方式中的任意一种方式,在上述关系型数据库中创建上述目标数据表:
1:可以响应于上述创建指令,在创建指令中添加与上述隐藏数据列对应的列信息,以对创建指令进行更新。也即,更新后的创建指令不仅包括与上述基础数据列对应的列信息,而且包括与隐藏数据列对应的列信息。后续,可以执行更新后的创建指令,基于更新后的创建指令中的这两种列信息,在上述关系型数据库中创建包括基础数据列和隐藏数据列的上述目标数据表。
继续以上述DDL语句为例,假设预先将上述隐藏数据列的列名配置为global_trx_idx,并将隐藏数据列中的数据的数据类型配置为varchar(512),即最大长度为512个字符的可变长度字符串,则global_trx_idx和varchar(512)即为与隐藏数据列对应的列信息。在这种情况下,可以在该DDL语句中添加与隐藏数据列对应的列信息,以对该DDL语句进行更新,而更新后的DDL语句可以如下所示:
create table tmp_test(global_trx_idx varchar(512),id1 int,id2 int)
在此例中,最终在上述关系型数据库中创建的上述目标数据表一共包括三列,分别为:其中的数据为varchar(512)类型的数据的隐藏数据列,其中的数据为int类型的数据的第一基础数据列,以及其中的数据为int类型的数据的第二基础数据列。
2:可以执行上述创建指令,先获取创建指令中与上述基础数据列对应的列信息,并获取与隐藏数据列对应的列信息,再基于获取到的这两种列信息,在上述关系型数据库中创建包括基础数据列和隐藏数据列的上述目标数据表。
3:可以执行上述创建指令,先基于创建指令中与上述基础数据列对应的列信息,在上述关系型数据库中创建仅包括基础数据列的初始的目标数据表,再基于与上述隐藏数据列对应的列信息,在初始的目标数据表中添加隐藏数据列,以得到包括基础数据列和隐藏数据列的最终的目标数据表。
步骤206:在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立树形结构的唯一索引;其中,所述隐藏数据列中与所述目标数据表中的所有数据行对应的数据,可以包括单调递增的数值。
在本实施例中,在上述目标数据表创建完成之后,由于目标数据表包括上述隐藏数据列,可以基于隐藏数据列中的数据,为目标数据表建立树形结构的唯一索引。其中,隐藏数据列中与目标数据表中的数据行对应的数据可以包括单调递增的数值。
也即,相当于额外执行了如下所示的DDL语句:
create unique index u_global_trx_idx on tmp_test(global_trx_idx)
该DDL语句表示在关系型数据库中针对表名为tmp_test的数据表,基于该数据表中列名为global_trx_idx的数据列中的数据,为该数据表建立唯一索引。如果对应的关系型数据库系统采用的是基于树形结构的内存存储引擎,那么所建立的唯一索引也就是树形结构的唯一索引。
例如,假设上述目标数据表如下表2所示:
global_trx_idx | id1 | id2 |
X1 | Y1 | Z1 |
X2 | Y2 | Z2 |
X3 | Y3 | Z3 |
表2
其中,第一列为上述隐藏数据列,其列名为global_trx_idx,X1-X3表示隐藏数据列中的数据;第二列为第一个基础数据列,其列名为id1,Y1-Y3表示第一个基础数据列中的数据;第三列为第二个基础数据列,其列名为id2,Z1-Z3表示第二个基础数据列中的数据。在这种情况下,X1即为隐藏数据列中与目标数据表中的第一行对应的数据,X2即为隐藏数据列中与目标数据表中的第二行对应的数据,X3即为隐藏数据列中与目标数据表中的第三行对应的数据。X1、X2和X3可以是单调递增的三个数值。例如:X1=1,X2=2,X3=3;或者,X1=1,X2=3,X3=5;以此类推。
在实际应用中,唯一索引不允许出现键值(即key)相同的数据行,即用于建立唯一索引的数据列中与不同的数据行对应的数据不同,从而禁止唯一索引中出现重复的数据。由于上述隐藏数据列中的数据包括单调递增的数值,这些数值必然互不相同,基于隐藏数据列为目标数据表建立的索引可以是唯一索引。
在一些实施例中,上述树形结构的唯一索引可以包括:基于B-Tree或B+Tree的唯一索引。
例如,假设上述目标数据表一共包括21行,则该数据表中上述隐藏数据列一共包括21个单调递增的数值。进一步地,假设这21个单调递增的数值为1-21,则基于该数据表中的隐藏数据列中的数据,为该数据表建立的基于4阶B-Tree的唯一索引如图3所示。需要说明的是,如图2所示的B-Tree索引仅示出了其中各个节点中的key,而未示出其他数据。
由如图2所示的B-Tree索引可见,在用于建立B-Tree索引的数据为单调递增的数值的情况下,B-Tree索引中与相邻的数据行对应的节点较为聚集,例如:第1行和第2行这相邻的两行的数据,存储在B-Tree索引中的10-3-1和10-3-2这两个分叉上,除了叶子节点之外,这两个分叉上的其他节点完全相同。
在一些实施例中,上述隐藏数据列中与上述目标数据表中的所有数据行对应的数据可以包括二元组。其中,该二元组可以包括产生各数据行中与上述基础数据列对应的数据的设备的标识,以及数值。例如,该二元组可以表示为:[svr_id,local_inc_num],svr_id表示产生各数据行中与基础数据列对应的数据的设备的标识,local_inc_num表示单调递增的数值。
以如上表2所示的上述目标数据表中的第一个数据行为例,X1即为该数据行中与上述隐藏数据列对应的数据,Y1即为该数据行中与上述第一个基础数据列对应的数据,Z1即为该数据行中与上述第二个基础数据列对应的数据。X1具体可以是[svr_id1,local_inc_num1],svr_id1表示产生该数据行中的Y1和Z1的设备的标识,local_inc_num1表示一个数值。同理,X2具体可以是[svr_id2,local_inc_num2],svr_id2表示产生第二个数据行中的Y2和Z2的设备的标识,local_inc_num2表示一个数值;X3具体可以是[svr_id3,local_inc_num3],svr_id3表示产生第三个数据行中的Y3和Z3的设备的标识,local_inc_num3表示一个数值。此时,local_inc_num1、local_inc_num2和local_inc_num3为单调递增的三个数值。
需要说明的是,包括相同的设备的标识的二元组中的数值可以是单调递增的数值,但包括不同的设备的标识的二元组中的数值可以重复。
继续以上述二元组为例,对于同一台设备而言,local_inc_num表示的数值单调递增;而对于不同的设备而言,local_inc_num表示的数值可以重复,此时由于svr_id不同,仍然可以保证二元组不重复。
在实际应用中,为了保证设备宕机重启之后,在上述目标数据表中新添加的隐藏数据列中的不重复,可以定期对上述单调递增的数值中的最大值进行持久化存储,确保设备宕机重启之后该数值不回退。
继续以上述二元组为例,对于同一台设备而言,可以定期对local_inc_num中的最大值进行持久化存储,确保该设备宕机重启之后local_inc_num不回退。
在一些实施例中,上述设备的标识包括设备的IP地址。此时,上述二元组可以表示为:[svr_ip,local_inc_num]。其中,svr_ip表示设备的IP地址。
或者,在一些实施例中,上述设备的标识包括设备的IP地址和端口号。此时,上述二元组可以表示为:[svr_ip/svr_port,local_inc_num]。其中,svr_ip表示设备的IP地址,svr_port表示设备的端口号。
在上述技术方案中,在获取到用于在关系型数据库中创建数据表的创建指令时,可以基于该创建指令中的与待创建的数据表中的基础数据列对应的列信息,在关系型数据库中创建包括该基础数据列以及扩展出的独立于该基础技数据列的隐藏数据列的数据表,并基于该隐藏数据列中与该数据表中的数据行对应的数值,为该数据表建立树形结构的唯一索引,使得后续可以基于该树形结构的唯一索引针对该数据表进行查询。
采用上述方式,在为关系型数据库中的数据表建立树形结构的索引时,选用的数据并不是该数据表包括的基础数据列中的数据,而通常该基础数据列中的数据是由设备或软件服务等在实际运行的过程中产生的,这些数据的离散度不受控制,因此可以避免用于建立树形索引的数据出现离散的问题,影响针对数据表的查询性能和查询耗时。与之相应地,由于在数据表中添加了隐藏数据列,并基于该隐藏数据列中与该数据表中的数据行对应的单调递增的数值建立树形结构的索引,使得用于建立树形索引的数据的离散度得到控制,从而可以提高针对数据表的查询性能,并降低相应的查询耗时。此外,使用单调递增的数值建立的索引可以是唯一索引,从而可以保证基于该唯一索引针对该数据表进行查询时的精准度。
请结合图2,参考图4,图4是本申请一示例性实施例示出的一种关系型数据库的查询方法。
对于关系型数据库系统而言,可以采用上述关系型数据库的查询方法针对其中的关系型数据库进行查询。在这种情况下,该关系型数据库的查询方法可以应用于该关系型数据库系统中的数据库管理系统,由该数据库管理系统针对该关系型数据库系统中的关系型数据库进行查询。
上述关系型数据库的查询方法可以包括以下步骤:
步骤402:获取用于对目标数据表进行全表扫描的查询指令;其中,所述目标数据表为响应于用于在关系型数据库中创建目标数据表的创建指令,基于所述创建指令包括的与所述目标数据表中的基础数据列对应的列信息,在所述关系型数据库中创建的包括所述基础数据列和隐藏数据列的数据表;所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立了树形结构的唯一索引。
在本实施例中,创建数据表,以及为数据表建立树形结构的唯一索引的具体方式可以参考如图2所示的实施例,本申请在此不再赘述。
而在针对上述目标数据表进行查询时,首先可以获取到用于对目标数据表进行全表扫描的指令(称之为查询指令)。
例如,可以获取对目标数据表进行全表扫描的DDL语句,并将该DDL语句转化为处理器可执行的创建指令。
以如下所示的DDL语句为例:
select*from tmp_test
该DDL语句表示对关系型数据库中表名为tmp_test的数据表进行全表扫描。在这种情况下,可以将该DDL语句转化为处理器可执行的指令,使得处理器可以通过执行该指令,对该数据表进行全表扫描。
步骤404:响应于所述查询指令,在所述查询指令中添加与所述隐藏数据列对应的查询条件,以对所述查询指令进行更新。
在本实施例中,在获取到上述查询指令的情况下,可以进一步地响应与该查询指令,在该查询指令中添加与上述隐藏数据列对应的查询条件,以对该查询指令进行更新。
继续以上述DDL语句为例,假设上述隐藏数据列的列名为global_trx_idx,则可以在该DDL语句中添加与隐藏数据列对应的查询条件,以对该DDL语句进行更新,而更新后的DDL语句可以如下所示:
select*from tmp_test where global_trx_idx='xxx'
该DDL语句表示对关系型数据库中表名为tmp_test的数据表基于列名为global_trx_idx的数据列进行查询。其中,由于此时列名为global_trx_idx的数据列即为上述隐藏数据列,where global_trx_idx='xxx'也即为与隐藏数据列对应的查询条件。
步骤406:执行更新后的所述查询指令,基于所述树形结构的唯一索引针对所述目标数据表进行查询,以查询所述目标数据表中各数据行记录的数据。
在本实施例中,可以执行更新后的上述查询指令,由于更新后的查询指令中包含了技与上述隐藏数据列对应的查询条件,并且基于隐藏数据列中的数据为上述目标数据表建立了上述树形结构的唯一索引,在这种情况下,就可以基于该树形结构的唯一索引,针对目标数据表进行查询,以查询目标数据表中各数据行记录的数据。
在上述技术方案中,可以对用于对数据表进行全表扫描的查询指令进行改写,将该查询指令转化为用于基于为数据表建立的树形结构的唯一索引针对该数据表进行查询的新的查询指令,从而可以通过执行新的查询指令,基于为数据表建立的树形结构的唯一索引针对该数据表进行查询,而不再需要对该数据表进行全表扫描。由此,可以提高对关系型数据库中的数据表的全表扫描的查询效率。
请参考图5,图5是本申请一示例性实施例示出的一种设备的硬件结构的示意图。
如图5所示,在硬件层面,上述设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。本申请一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本申请一个或多个实施例并不排除其他实现方式,比如逻辑器件或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑模块,也可以是硬件或逻辑器件。
请参考图6,图6是本申请一示例性实施例示出的一种关系型数据库的管理装置的框图。
上述关系型数据库的管理装置可以应用于如图5所示的设备,以实现本申请的技术方案。该关系型数据库的管理装置可以包括:
第一获取模块602,获取用于在关系型数据库中创建目标数据表的创建指令;其中,所述创建指令包括与所述目标数据表中的基础数据列对应的列信息;
表创建模块604,响应于所述创建指令,基于所述列信息,在所述关系型数据库中创建包括所述基础数据列和隐藏数据列的所述目标数据表;其中,所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;
索引建立模块606,在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立树形结构的唯一索引;其中,所述隐藏数据列中与所述目标数据表中的数据行对应的数据包括单调递增的数值。
可选地,所述表创建模块604具体用于:
响应于所述创建指令,在所述创建指令中添加与隐藏数据列对应的列信息,以对所述创建指令进行更新;
执行更新后的所述创建指令,基于更新后的所述创建指令中与所述基础数据列对应的列信息以及与所述隐藏数据列对应的列信息,在所述关系型数据库中创建包括所述基础数据列和所述隐藏数据列的所述目标数据表。
可选地,所述表创建模块604具体用于:
执行所述创建指令,获取所述创建指令中与所述基础数据列对应的列信息,并获取与隐藏数据列对应的列信息;
基于与所述基础数据列对应的列信息以及与所述隐藏数据列对应的列信息,在所述关系型数据库中创建包括所述基础数据列和所述隐藏数据列的所述目标数据表。
可选地,所述表创建模块604具体用于:
执行所述创建指令,基于所述创建指令中与所述基础数据列对应的列信息,在所述关系型数据库中创建包括所述基础数据列的所述目标数据表;
基于与隐藏数据列对应的列信息,在所述目标数据表中添加隐藏数据列,以得到包括所述基础数据列和所述隐藏数据列的所述目标数据表。
可选地,所述隐藏数据列中与所述目标数据表中的数据行对应的数据包括二元组;其中,所述二元组包括产生所述数据行中与所述基础数据列对应的数据的设备的标识,以及数值;包括相同的设备的标识的二元组中的数值单调递增。
可选地,所述设备的标识包括设备的IP地址;或者,所述设备的标识包括设备的IP地址和端口号。
可选地,所述树形结构的唯一索引包括基于B-Tree或B+Tree的唯一索引。
可选地,所述目标数据表包括在短时间内多次执行插入和/或删除操作的数据表。
可选地,所述目标数据表包括临时数据表。
可选地,所述关系型数据库包括OceanBase。
请参考图7,图7是本申请一示例性实施例示出的一种关系型数据库的查询装置的框图。
上述关系型数据库的管理装置可以应用于如图5所示的设备,以实现本申请的技术方案。该关系型数据库的查询装置可以包括:
第二获取模块702,获取用于对目标数据表进行全表扫描的查询指令;其中,所述目标数据表为响应于用于在关系型数据库中创建目标数据表的创建指令,基于所述创建指令包括的与所述目标数据表中的基础数据列对应的列信息,在所述关系型数据库中创建的包括所述基础数据列和隐藏数据列的数据表;所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立了树形结构的唯一索引;
指令更新模块704,响应于所述查询指令,在所述查询指令中添加与所述隐藏数据列对应的查询条件,以对所述查询指令进行更新;
表查询模块706,执行更新后的所述查询指令,基于所述树形结构的唯一索引针对所述目标数据表进行查询,以查询所述目标数据表中各数据行记录的数据。
可选地,所述隐藏数据列中与所述目标数据表中的数据行对应的数据包括二元组;其中,所述二元组包括产生所述数据行中与所述基础数据列对应的数据的设备的标识,以及数值;包括相同的设备的标识的二元组中的数值单调递增。
可选地,所述设备的标识包括设备的IP地址;或者,所述设备的标识包括设备的IP地址和端口号。
可选地,所述树形结构的唯一索引包括基于B-Tree或B+Tree的唯一索引。
可选地,所述目标数据表包括在短时间内多次执行插入和/或删除操作的数据表。
可选地,所述目标数据表包括临时数据表。
可选地,所述关系型数据库包括OceanBase。
对于装置实施例而言,其基本对应于方法实施例,因此相关之处参见方法实施例的部分说明即可。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请的技术方案的目的。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本申请特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本申请一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本申请一个或多个实施例的较佳实施例而已,并不用以限制本申请一个或多个实施例,凡在本申请一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请一个或多个实施例保护的范围之内。
Claims (15)
1.一种关系型数据库的管理方法,所述方法包括:
获取用于在关系型数据库中创建目标数据表的创建指令;其中,所述创建指令包括与所述目标数据表中的基础数据列对应的列信息;
响应于所述创建指令,基于所述列信息,在所述关系型数据库中创建包括所述基础数据列和隐藏数据列的所述目标数据表;其中,所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;
在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立树形结构的唯一索引;其中,所述隐藏数据列中与所述目标数据表中的数据行对应的数据包括单调递增的数值。
2.根据权利要求1所述的方法,所述响应于所述创建指令,基于所述列信息,在所述关系型数据库中创建包括所述基础数据列和隐藏数据列的所述目标数据表,包括:
响应于所述创建指令,在所述创建指令中添加与隐藏数据列对应的列信息,以对所述创建指令进行更新;
执行更新后的所述创建指令,基于更新后的所述创建指令中与所述基础数据列对应的列信息以及与所述隐藏数据列对应的列信息,在所述关系型数据库中创建包括所述基础数据列和所述隐藏数据列的所述目标数据表。
3.根据权利要求1所述的方法,所述响应于所述创建指令,基于所述列信息,在所述关系型数据库中创建包括所述基础数据列和隐藏数据列的所述目标数据表,包括:
执行所述创建指令,获取所述创建指令中与所述基础数据列对应的列信息,并获取与隐藏数据列对应的列信息;
基于与所述基础数据列对应的列信息以及与所述隐藏数据列对应的列信息,在所述关系型数据库中创建包括所述基础数据列和所述隐藏数据列的所述目标数据表。
4.根据权利要求1所述的方法,所述响应于所述创建指令,基于所述列信息,在所述关系型数据库中创建包括所述基础数据列和隐藏数据列的所述目标数据表,包括:
执行所述创建指令,基于所述创建指令中与所述基础数据列对应的列信息,在所述关系型数据库中创建包括所述基础数据列的所述目标数据表;
基于与隐藏数据列对应的列信息,在所述目标数据表中添加隐藏数据列,以得到包括所述基础数据列和所述隐藏数据列的所述目标数据表。
5.根据权利要求1所述的方法,所述隐藏数据列中与所述目标数据表中的数据行对应的数据包括二元组;其中,所述二元组包括产生所述数据行中与所述基础数据列对应的数据的设备的标识,以及数值;包括相同的设备的标识的二元组中的数值单调递增。
6.根据权利要求5所述的方法,所述设备的标识包括设备的IP地址;或者,所述设备的标识包括设备的IP地址和端口号。
7.根据权利要求1所述的方法,所述树形结构的唯一索引包括基于B-Tree或B+Tree的唯一索引。
8.根据权利要求1所述的方法,所述目标数据表包括在短时间内多次执行插入和/或删除操作的数据表。
9.根据权利要求8所述的方法,所述目标数据表包括临时数据表。
10.根据权利要求1-9任一所述的方法,所述关系型数据库包括OceanBase。
11.一种关系型数据库的查询方法,所述方法包括:
获取用于对目标数据表进行全表扫描的查询指令;其中,所述目标数据表为响应于用于在关系型数据库中创建目标数据表的创建指令,基于所述创建指令包括的与所述目标数据表中的基础数据列对应的列信息,在所述关系型数据库中创建的包括所述基础数据列和隐藏数据列的数据表;所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立了树形结构的唯一索引;
响应于所述查询指令,在所述查询指令中添加与所述隐藏数据列对应的查询条件,以对所述查询指令进行更新;
执行更新后的所述查询指令,基于所述树形结构的唯一索引针对所述目标数据表进行查询,以查询所述目标数据表中各数据行记录的数据。
12.一种关系型数据库的管理装置,所述装置包括:
第一获取模块,获取用于在关系型数据库中创建目标数据表的创建指令;其中,所述创建指令包括与所述目标数据表中的基础数据列对应的列信息;
表创建模块,响应于所述创建指令,基于所述列信息,在所述关系型数据库中创建包括所述基础数据列和隐藏数据列的所述目标数据表;其中,所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;
索引建立模块,在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立树形结构的唯一索引;其中,所述隐藏数据列中与所述目标数据表中的数据行对应的数据包括单调递增的数值。
13.一种关系型数据库的查询装置,所述装置包括:
第二获取模块,获取用于对目标数据表进行全表扫描的查询指令;其中,所述目标数据表为响应于用于在关系型数据库中创建目标数据表的创建指令,基于所述创建指令包括的与所述目标数据表中的基础数据列对应的列信息,在所述关系型数据库中创建的包括所述基础数据列和隐藏数据列的数据表;所述隐藏数据列为扩展出的独立于所述基础数据列的数据列;在所述目标数据表创建完成之后,基于所述隐藏数据列中的数据,为所述目标数据表建立了树形结构的唯一索引;
指令更新模块,响应于所述查询指令,在所述查询指令中添加与所述隐藏数据列对应的查询条件,以对所述查询指令进行更新;
表查询模块,执行更新后的所述查询指令,基于所述树形结构的唯一索引针对所述目标数据表进行查询,以查询所述目标数据表中各数据行记录的数据。
14.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-11中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211313884.7A CN115587100A (zh) | 2022-10-25 | 2022-10-25 | 关系型数据库的管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211313884.7A CN115587100A (zh) | 2022-10-25 | 2022-10-25 | 关系型数据库的管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115587100A true CN115587100A (zh) | 2023-01-10 |
Family
ID=84782878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211313884.7A Pending CN115587100A (zh) | 2022-10-25 | 2022-10-25 | 关系型数据库的管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115587100A (zh) |
-
2022
- 2022-10-25 CN CN202211313884.7A patent/CN115587100A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107818115B (zh) | 一种处理数据表的方法及装置 | |
CN104794123B (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
CN107491487B (zh) | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 | |
CN111506621B (zh) | 一种数据统计方法及装置 | |
Khan et al. | SQL Database with physical database tuning technique and NoSQL graph database comparisons | |
CN102890678A (zh) | 一种基于格雷编码的分布式数据布局方法及查询方法 | |
CN114329096A (zh) | 一种原生图数据库处理方法及系统 | |
El Alami et al. | Supply of a key value database redis in-memory by data from a relational database | |
CN112434027A (zh) | 多维度数据的索引方法、装置、计算机设备和存储介质 | |
AU2018345147B2 (en) | Database processing device, group map file production method, and recording medium | |
CN114840487A (zh) | 分布式文件系统的元数据管理方法和装置 | |
CN114860727A (zh) | 拉链表更新方法及装置 | |
CN115543993A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN106874329A (zh) | 数据库表索引的实现方法和装置 | |
CN111125216B (zh) | 数据导入Phoenix的方法及装置 | |
CN117235028A (zh) | 一种基于日志文件的数据查询方法和装置 | |
CN115328950A (zh) | 一种基于二级索引的hbase查询方法、终端设备及存储介质 | |
CN115587100A (zh) | 关系型数据库的管理方法及装置 | |
US20170031909A1 (en) | Locality-sensitive hashing for algebraic expressions | |
RU2389066C2 (ru) | Многомерная база данных и способ управления многомерной базой данных | |
US8250108B1 (en) | Method for transferring data into database systems | |
Punia et al. | Implementing Information System Using MongoDB and Redis | |
CN117785889B (zh) | 一种针对图数据库的索引管理方法及相关设备 | |
CN113946580B (zh) | 一种海量异构日志数据检索中间件 | |
Vaishnav et al. | Comparative Study of LevelDB and BadgerDB Databases on the Basis of Features and Read/Write Operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |