CN111221813B - 数据库索引以及数据库查询的处理方法、装置及设备 - Google Patents

数据库索引以及数据库查询的处理方法、装置及设备 Download PDF

Info

Publication number
CN111221813B
CN111221813B CN201811422523.XA CN201811422523A CN111221813B CN 111221813 B CN111221813 B CN 111221813B CN 201811422523 A CN201811422523 A CN 201811422523A CN 111221813 B CN111221813 B CN 111221813B
Authority
CN
China
Prior art keywords
spatial
space
index
field
database 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.)
Active
Application number
CN201811422523.XA
Other languages
English (en)
Other versions
CN111221813A (zh
Inventor
胡炜
周杰
何登成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811422523.XA priority Critical patent/CN111221813B/zh
Priority to JP2021529833A priority patent/JP2022510184A/ja
Priority to PCT/CN2019/119394 priority patent/WO2020108345A1/zh
Priority to EP19889311.7A priority patent/EP3889797A4/en
Publication of CN111221813A publication Critical patent/CN111221813A/zh
Priority to US17/332,724 priority patent/US20210286795A1/en
Application granted granted Critical
Publication of CN111221813B publication Critical patent/CN111221813B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种数据库索引的处理方法,包括:确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;获得针对所述数据库表的包含空间字段标识的空间过滤条件;根据所述空间过滤条件,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识。提升了空间数据相关的查询的效率。

Description

数据库索引以及数据库查询的处理方法、装置及设备
技术领域
本申请涉及数据处理领域,具体涉及一种数据库索引的处理方法、装置、电子设备以及存储设备。本申请同时涉及一种数据库查询的处理方法、装置、电子设备以及存储设备。
背景技术
随着计算机与信息技术的发展,空间数据以及支持存储和管理空间数据的数据库在多种行业得到了广泛应用,例如,用于城市规划、交通、银行、航空航天等。所谓空间数据,又称几何数据,是一种计算机能够处理的用于表示包含空间坐标的信息的特殊类型的数据,例如,表示建筑设计图、机械设计图、地图的空间数据。空间数据能够定量描述现实世界中有定位意义的事物和现象,例如标识空间实体的位置、形状大小、分布特征。所谓空间实体是对地理事物和现象进行抽象得到的结果,也称地理实体或实体。
目前,支持存储和管理空间数据的数据库一般提供空间索引,用于对数据库存储的空间数据进行快速读取和完整性检查。所谓空间索引是依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构。现有的空间索引只存储了能够覆盖空间对象的MBR(Minimum bounding rectangle,最小包围盒)的信息。所谓MBR是指二维情况下能够覆盖空间对象的最小包围矩阵。当查询空间数据时,先筛选出符合空间过滤条件的空间数据,之后需要回主键表中进行进一步的过滤以获取完整记录。因而,当查询中匹配上空间过滤条件的记录数量比较庞大时,回主键表获取完整记录的CPU及IO开销较大,导致空间数据查询效率比较低。
发明内容
本申请提供一种数据库索引的处理方法、数据库查询的处理方法,以提升空间数据的查询效率。
本申请提供一种数据库索引的处理方法,包括:
确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间字段标识的空间过滤条件;
根据所述空间过滤条件,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识。
可选的,所述空间过滤条件包含空间字段前缀信息;
所述根据所述空间过滤条件,生成所述数据库表的树型结构空间索引,包括:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段前缀信息;
根据所述空间字段前缀信息,生成所述数据库表的空间前缀索引;其中,所述空间前缀索引的索引列包括所述空间字段前缀信息;
将所述空间前缀索引作为所述树型结构空间索引。
可选的,所述空间过滤条件包括最小包围盒运算类型的过滤条件;
所述根据所述空间字段前缀信息,生成所述数据库表的空间前缀索引,包括:
根据所述最小包围盒运算类型的过滤条件,对所述数据库表进行最小包围盒过滤,得到符合所述最小包围盒运算类型的过滤条件的备选空间字段;
针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;
根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引。
可选的,所述空间字段前缀信息包含用于指示空间字段存储的空间数据的长度条件;
所述根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,包括:
获得所述地理空间信息标准字节流编码后的空间数据的长度;
根据所述空间字段前缀信息获得所述长度条件;
如果地理空间信息标准字节流编码后的空间数据的长度符合所述长度条件,则在所述空间前缀索引的叶子节点存储符合长度条件的空间数据;
否则,所述空间前缀索引的叶子节点不保存所述空间数据。
可选的,所述根据所述空间过滤条件,生成所述数据库表的树型结构空间索引,包括:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段的信息;
获得用于生成所述树型结构空间索引的非空间字段的信息;
根据所述空间字段的信息和所述非空间字段的信息,生成所述数据库表的复合空间索引;其中,所述空间复合索引的索引列包括所述空间字段以及所述非空间字段;
将所述复合空间索引作为所述树型结构空间索引。
可选的,所述根据所述空间过滤条件,生成所述数据库表的树型结构空间索引,包括:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段前缀的信息;
获得用于生成所述树型结构空间索引的非空间字段的信息;
根据所述空间字段前缀的信息和所述非空间字段的信息,生成复合前缀空间索引;其中,所述复合前缀空间索引的索引列包括所述空间字段前缀以及所述非空间字段;
将所述空间复合前缀索引作为所述树型结构空间索引。
可选的,所述树型结构空间索引的索引列包括空间字段;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。
可选的,所述方法还包括:
根据数据库表创建命令创建所述数据库表,在所述数据库表创建命令中包括生成所述树型结构空间索引的索引创建命令;或者,
根据索引创建命令创建所述树型结构空间索引。
本申请还提供一种数据库查询的处理方法,包括:
确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间查询字段的查询条件;
获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;
根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
可选的,所述查询条件还包括非空间字段;
所述根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果,包括:
获得所述查询条件的空间字段;
判断所述空间字段是否匹配所述树型结构空间索引的索引列的空间字段标识;
如果是,则根据所述查询条件的空间查询字段,对所述数据库表的复合空间索引进行查询,得到符合所述查询条件的查询结果;
如果否,则获取所述数据库表中匹配所述查询条件的非空间查询字段的备选记录,根据所述查询条件的空间查询字段,从所述备选记录中获得符合所述查询条件的查询结果。
可选的,所述根据所述查询条件的空间查询字段,对所述数据库表的复合空间索引进行查询,得到符合所述查询条件的查询结果,包括:
获得所述查询条件的非空间查询字段;
判断所述空间查询字段和所述非空间查询字段为所述数据库表的复合空间索引包括的索引列;
如果是,则确定所述查询条件符合针对所述数据库表的符合空间索引查询方式,根据所述查询条件对所述数据库表的复合空间索引进行索引覆盖扫描查询;
如果否,则根据所述查询条件从所述数据库表的复合空间索引中查询到符合所述查询条件的备选记录,根据所述备选记录的主键,回所述数据库表进一步查询得到符合所述查询条件的完整的行记录。
可选的,所述根据所述查询条件对所述数据库表的复合空间索引进行索引覆盖扫描查询,包括:
根据所述空间查询字段判断是否为查询所述数据库表的复合空间索引的空间字段;
如果是,根据所述空间查询字段的前缀信息包含的长度条件,对复合空间索引进行索引覆盖扫描查询;
如果否,对数据库表的复合空间索引进行索引覆盖扫描查询。
可选的,所述根据所述空间查询字段的前缀信息包含的长度条件,对复合空间索引进行索引覆盖扫描查询,包括:
获得所述空间查询字段的前缀信息包含的长度条件;
判断复合空间索引的行记录的长度是否满足所述长度条件,如果满足所述长度条件,则将所述行记录作为索引覆盖扫描查询结果;
如果否,则根据主键信息对所述数据库表进行查询。
可选的,所述根据所述查询条件的空间查询字段,从所述备选记录中获得符合所述查询条件的查询结果,包括:
对所述备选的行记录的数据进行空间计算,根据计算结果从所述备选的行记录中获得符合所述空间查询字段的行记录;
将所述符合所述空间查询字段的行记录作为符合所述查询条件的查询结果。
可选的,所述查询条件的空间查询信息为包括空间查询字段的最小包围盒运算。
可选的,所述树型结构空间索引的索引列包括空间字段;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。
本申请还提供一种数据库索引的处理装置,包括:
数据库表确定单元,用于确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
过滤条件获得单元,用于获得针对所述数据库表的包含空间字段标识的空间过滤条件;
索引生成单元,用于根据所述空间过滤条件,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识。
本申请还提供一种数据库查询的处理装置,包括:
数据库表确定单元,用于确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
查询条件确定单元,用于获得针对所述数据库表的包含空间查询字段的查询条件;
索引获得单元,用于获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;
查询单元,用于根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
本申请还提供一种电子设备,包括:
存储器,以及处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间字段标识的空间过滤条件;
根据所述空间过滤条件,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识。
本申请还提供一种电子设备,包括:
存储器,以及处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间查询字段的查询条件;
获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;
根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
本申请还提供一种存储设备,存储有指令,所述指令能够被处理器加载并执行以下步骤:
确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间字段标识的空间过滤条件;
根据所述空间过滤条件,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识。
本申请还提供一种存储设备,存储有指令,所述指令能够被处理器加载并执行以下步骤:
确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间查询字段的查询条件;
获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;
根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
与现有技术相比,本申请具有以下优点:
本申请提供的数据库索引的处理方法,通过根据包含空间字段的数据库表的空间过滤条件,生成数据库表的树型结构空间索引,在树型结构空间索引的叶子节点存储符合空间过滤条件的空间数据,在索引中存放空间数据能够提升空间数据的查询效率,从而解决了空间数据查询效率低的问题。进一步的,当所述树型结构空间索引为包括非空间字段的复合空间索引时,还能提供非空间列的过滤,减少需要回表查询操作的次数,提高查询效率。
本申请提供的数据库查询的处理方法,通过根据包含空间查询字段的查询条件,对数据库表的树型结构空间索引进行查询得到查询结果,由于所述数据结构空间索引的叶子节点存储有空间数据,因此降低了空间数据查询的开销,从而解决了空间数据查询效率低的问题。进一步的,当所述树型结构空间索引为包括非空间字段的复合空间索引时,还能提供非空间列的过滤,减少需要回表查询操作的次数,提高查询效率。
附图说明
图1是本申请第一实施例提供的数据库索引的处理方法的处理流程图;
图2是本申请第一实施例提供的数据库索引的结构示意图;
图3是本申请第二实施例提供的数据库查询的处理方法的处理流程图;
图4是本申请第二实施例提供的数据库查询的实际实现的流程图;
图5是本申请第三实施例提供的数据库索引的处理装置示意图;
图6是本申请第四实施例提供的数据库查询的处理装置示意图;
图7是本申请第五实施例提供的电子设备示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种数据库索引的处理方法、装置、电子设备以及存储设备。本申请同时涉及一种数据库查询的处理方法、装置、电子设备以及存储设备。在下面的实施例中逐一进行详细说明。
本申请第一实施例提供一种数据库索引的处理方法。
以下结合图1和图2对本申请实施例提供的数据库索引的处理方法进行说明。
图1所示的数据库索引的处理方法,包括:步骤S101至步骤S103。
步骤S101,确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段。
实际应用中,支持空间数据的数据库一般提供空间索引,传统的空间索引由于只存储了MBR的信息和/或MBB(Minimum bounding box,最小限定箱)的信息,因此还需要进一步进行回表查询操作。所谓MBB以及MBR是指能够覆盖空间对象的最小包围范围,在二维情况下能够覆盖空间对象的最小包围范围为最小包围矩阵MBR,在三维情况下能够覆盖空间对象的最小包围范围为最小限定箱MBB。所述回表查询操作是指查询筛选出符合过滤条件中的空间过滤条件的备选记录后,回到主键表中进一步查询,获取所有字段,判断是否符合过滤条件中的其他非空间过滤条件。以聚集索引表的数据库为例,聚集索引表的回表查询操作效率低、速度慢,这会导致空间数据查询效率低。所谓聚集索引表是数据库表的一种常用组织形式,是指数据库表的所有记录按照主键顺序组织在一起,数据库表本身就以索引的方式存储,通过数据库表的主键进行索引。基于聚集索引表生成的数据库索引为数据库表的二级索引。所述二级索引是指非主键索引。另外,当查询中匹配上空间过滤条件的记录数量比较庞大时,回表查询操作获取完整记录的CPU及IO开销较大,也导致空间数据查询效率比较低。需要说明的是,本申请提供的数据库索引的处理方法也可用于堆表。
本申请提出的数据库索引的处理方法,得到的数据库表的树型结构空间索引的叶子节点存储符合空间过滤条件的空间数据,满足一定条件的查询直接从数据库表的树型结构空间索引获得查询结果,而不是所有的查询都需要回表查询操作获取完整记录,因而使得包括空间数据查询的业务对于空间过滤的查询更加快捷高效。
本步骤是确定待创建数据库索引的包括空间字段的数据库表。举例如下,以某数据库A的数据库表test为例(test为表名称)。test表以GEOM字段存储GIS(Geo-Information system,地理信息系统)空间数据,GIS空间数据的类型为Geometry类型。GEOM是test表的字段标识(或称为字段名称),Geometry是某数据库支持的一种空间数据类型,可以是表示地理位置的经度信息、纬度信息。test表中还包括其他非空间字段,即普通字段,例如ID int,NAME varchar(500),PRICE double,VERSION int,Primary key(id)等字段,分别对应整型类型的ID(标识),长度为500的字符类型的NAME(名称),双精度类型的PRICE(价格),并将ID作为主键,这样test表的一条记录包括了某个对象的标识、名称、价格及位置信息。GEOM字段为空间字段,其他存储非空间数据的字段为普通字段或非空间字段。
步骤S102,获得针对所述数据库表的包含空间字段标识的空间过滤条件。
本步骤是确定生成空间索引的空间过滤条件,也称为过滤条件。
本申请实施例提供的一个实施方式中,所述空间过滤条件包括空间字段,相应后续步骤得到的树型结构空间索引的索引列包括空间字段。
本申请实施例提供的另一个实施方式中,所述空间过滤条件包括空间字段前缀,通过使用空间字段前缀,可以有选择的在后续生成的树型结构索引中存放空间数据,即通过空间字段前缀定义或规定索引中存放的空间数据的约束条件。具体的,根据数据库表记录中空间字段的空间数据的实际情况考虑查询效率和空间占用的平衡确定所述约束条件。例如,当空间占用允许时,则放宽索引中存放空间数据的条件,以尽可能多的在索引中存放空间数据,可以提升查询效率。
进一步的,所述空间过滤条件还包括下述至少一项:非空间字段,非空间字段前缀。根据空间过滤条件的不同后续步骤中生成的空间索引包括的字段类型也不同。如果空间过滤条件为空间字段前缀则得到的空间索引为空间前缀索引,空间前缀索引的索引列包括空间字段前缀;如果空间过滤条件包括空间字段前缀和非空间字段,或者,包括空间字段前缀和非空间字段前缀,或者,为空间字段前缀、非空间字段、非空间字段前缀,则后续得到的空间索引为复合前缀空间索引,复合前缀空间索引的索引列包括空间字段前缀,进一步的,复合前缀空间索引的索引列还包括下述至少一项:非空间字段、非空间字段前缀。
本申请实施例中,可以在数据库表创建阶段获得索引创建指示信息,也可以在数据库表创建之后或者在数据库表已经创建并插入数据之后获得索引创建指示信息。具体包括:
根据数据库表创建命令创建所述数据库表,在所述数据库表创建命令中包括生成所述树型结构空间索引的索引创建命令;或者,
根据索引创建命令创建所述树型结构空间索引。
沿用某数据库A的数据库表test的例子。以如下命令创建test是获得创建空间索引sck的索引创建指示信息:
Create table test(
ID int,
NAME varchar(500),
PRICE double,
GEOM.Geometry,
VERSION int,
Primary key(id),
Spatial key sck(geom(30),version)
);
上述test表创建命令包括的空间索引sck的索引创建指示信息包括空间字段GEOM的30字节前缀、VERSION字段、以及作为二级索引自动包含的主键ID。也可以在创建test表之后或者在test表中插入数据之后,使用create index(创建索引)方式创建,例如空间索引sck1的索引创建指示信息包括空间字段GEOM的30字节前缀、PRICE字段、以及作为二级索引自动包含的主键ID,命令如下:create spatial key sck1(geom(20),price)。
步骤S103,根据所述空间过滤条件,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识。
本步骤是生成存放了空间数据的树形结构空间索引。
本申请实施例中,当空间过滤条件包括空间字段和非空间字段,具体通过下述处理生成所述数据库表的树型结构空间索引:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段的信息;
获得用于生成所述树型结构空间索引的非空间字段的信息;
根据所述空间字段的信息和所述非空间字段的信息,生成所述数据库表的复合空间索引;其中,所述空间复合索引的索引列包括所述空间字段以及所述非空间字段;
将所述复合空间索引作为所述树型结构空间索引。
本申请实施例中,当空间过滤条件包括空间字段前缀的信息和非空间字段的信息,具体通过下述处理生成所述数据库表的树型结构空间索引:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段前缀的信息;
获得用于生成所述树型结构空间索引的非空间字段的信息;
根据所述空间字段前缀的信息和所述非空间字段的信息,生成复合前缀空间索引;其中,所述复合前缀空间索引的索引列包括所述空间字段前缀以及所述非空间字段;
将所述空间复合前缀索引作为所述树型结构空间索引。
本申请实施例提供的一个具体实施方式中,生成的树型结构空间索引的索引列包括空间字段;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。
本申请实施例提供的另一个具体实施方式中,生成的树型结构空间索引的索引列包括空间字段前缀信息;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。具体通过下述处理生成所述数据库表的树型结构空间索引:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段前缀信息;
根据所述空间字段前缀信息,生成所述数据库表的空间前缀索引;其中,所述空间前缀索引的索引列包括所述空间字段前缀信息;
将所述空间前缀索引作为所述树型结构空间索引。
进一步的,所述空间过滤条件包括最小包围盒运算类型的过滤条件;相应包括下述处理根据所述空间字段前缀信息,生成所述数据库表的空间前缀索引:
根据所述最小包围盒运算类型的过滤条件,对所述数据库表进行最小包围盒过滤,得到符合所述最小包围盒运算类型的过滤条件的备选空间字段;
针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;
根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引。
所谓地理空间信息标准字节流,是指WKB(The Well-known Binary),用连续的二进制流来表达几何体的信息。
本申请实施例提供的一个具体实施方式中,所述空间字段前缀信息包含用于指示空间字段存储的空间数据的长度条件;相应的,所述根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,具体包括:
获得所述地理空间信息标准字节流编码后的空间数据的长度;
根据所述空间字段前缀信息获得所述长度条件;
如果地理空间信息标准字节流编码后的空间数据的长度符合所述长度条件,则在所述空间前缀索引的叶子节点存储符合长度条件的空间数据;
否则,所述空间前缀索引的叶子节点不保存所述空间数据。
沿用某数据库A的数据库表test的例子,基于GEOM、VERSION、NAME生成树型结构的复合前缀空间索引,其索引结构请参考图2。图2示出了所述树型结构的复合前缀空间索引的结构示意图。该复合前缀空间索引的结构为R树索引的结构,图中201指示Root为R树的根节点,存储了最大的矩形空间;202指示的非叶子节点中只存储有用于检索空间的MBR最小包围盒以及寻找下一页面的pageid(页面标识);203指示的叶子节点和202指示的非叶子节点存储的内容不同,203指示的叶子节点中存储的内容除了MBR最小包围盒之外,还有满足空间字段前缀包含的约束条件的空间数据,当然还包括常规的非空间字段,例如图中202包含的Col1,具体到本例子则为VERSION字段和NAME字段,以及作为二级索引的复合前缀空间索引还自动包含的主键PK(primary key),见图中202包含的PK,具体到本例子,由于test表的主键为ID,因此复合前缀空间索引的叶子节点中还包括ID字段。
以上述第一实施例为基础,本申请第二实施例还提供一种数据库查询的处理方法。
参照图3,其示出了本申请第二实施例提供的数据库查询的处理方法。由于本实施例以第一实施例为基础,所以描述得比较简单,相关的部分请参见第一实施例的对应说明即可。
本申请第二实施例提供的一种数据库查询的处理方法,包括:步骤S301至步骤S304。
步骤S301,确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段。
本步骤是确定待查询空间数据的数据库表。
本申请实施例中通过获得查询命令确定所述数据库表。沿用某数据库A的数据库表test的例子,查询命令举例如下:
select ID,GEOM,VERSION from test where MBRIntersects(GEOM,,ST_GeomFromText('POLYGON((113.22779059410095 23.077155641028952,113.2292711734771623.077155641028952,113.22927117347716 23.078517734365768,113.2277905941009523.078517734365768,113.22779059410095 23.077155641028952))',4326))and versionin(2,3);
test表的一条记录包括了某个对象的标识、名称、价格及位置信息,test表以空间字段GEOM存储了包含经纬度信息的GIS空间数据。test表中还包括其他非空间字段:IDint,NAME varchar(500),PRICE double,VERSION int,Primary key(id)等字段,分别对应整型类型的ID(标识),长度为500的字符类型的NAME(名称),双精度类型的PRICE(价格),主键指定为ID字段。上述查询命令为从test表中选择满足where语句指定的查询条件的记录中的ID、GEOM、VERSION信息,本举例中查询条件包含空间查询条件和非空间查询条件。
步骤S302,获得针对所述数据库表的包含空间查询字段的查询条件。
本步骤是确定包含空间查询字段的查询条件。
本申请实施例中,在所述查询条件的空间查询信息中包括空间查询字段,所述空间查询信息具体为包括空间查询字段的最小包围盒运算。
沿用上述针对某数据库A的数据库表test的查询命令的例子,上述命令的where语句中的
MBRIntersects(GEOM,,ST_GeomFromText('POLYGON((113.2277905941009523.077155641028952,113.22927117347716 23.077155641028952,113.2292711734771623.078517734365768,113.22779059410095 23.078517734365768,113.2277905941009523.077155641028952))',4326))
为判断是否交叉或重叠的最小包围盒运算。
本申请实施例中,所述查询条件还包括下述至少一项:非空间字段;非空间字段前缀。
步骤S303,获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据。
本步骤是获得树型结构空间索引。
本申请实施例中,具体包括下述处理:获得针对所述数据库表的查询条件,确定所述查询条件包含空间查询字段,获取针对所述数据库表建立的空间索引或复合空间索引。具体的,所述树型结构空间索引的索引列包括空间字段;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。优选的,所述叶子节点还包括主键标识。
沿用某数据库A的数据库表test的例子,获得针对test表的基于GEOM、VERSION、NAME生成树型结构的复合前缀空间索引,其索引结构请参考图2。图2示出了所述树型结构的复合前缀空间索引的结构示意图。该复合前缀空间索引的结构为R树索引的结构,图中201指示Root为R树的根节点,存储了最大的矩形空间;202指示的非叶子节点中只存储有用于检索空间的MBR最小包围盒以及寻找下一页面的pageid(页面标识);203指示的叶子节点和202指示的非叶子节点存储的内容不同,203指示的叶子节点中存储的内容除了MBR最小包围盒之外,还有满足空间字段前缀包含的约束条件的空间数据,当然还包括常规的非空间字段VERSION字段和NAME字段,以及作为二级索引的复合前缀空间索引还自动包含的主键PK(primary key),由于test表的主键为ID,因此复合前缀空间索引的叶子节点中还包括ID字段。
步骤S304,根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
本步骤是根据所述查询条件,对所述树型结构空间索引进行查询。
本申请实施例中,所述查询条件还包括非空间字段,具体通过下述处理得到查询结果:
获得所述查询条件的空间字段;
判断所述空间字段是否匹配所述树型结构空间索引的索引列的空间字段标识;
如果是,则根据所述查询条件的空间查询字段,对所述数据库表的复合空间索引进行查询,得到符合所述查询条件的查询结果;
如果否,则获取所述数据库表中匹配所述查询条件的非空间查询字段的备选记录,根据所述查询条件的空间查询字段,从所述备选记录中获得符合所述查询条件的查询结果。本申请实施例中,具体包括下述处理从所述备选记录中获得符合所述查询条件的查询结果:
对所述备选的行记录的数据进行空间计算,根据计算结果从所述备选的行记录中获得符合所述空间查询字段的行记录;
将所述符合所述空间查询字段的行记录作为符合所述查询条件的查询结果。
本申请实施例中,如果判断所述空间字段匹配所述树型结构空间索引的索引列的空间字段标识,则具体通过下述处理根据所述查询条件的空间查询字段,对所述数据库表的复合空间索引进行查询,得到符合所述查询条件的查询结果:
获得所述查询条件的非空间查询字段;
判断所述空间查询字段和所述非空间查询字段为所述数据库表的复合空间索引包括的索引列;
如果是,则确定所述查询条件符合针对所述数据库表的符合空间索引查询方式,根据所述查询条件对所述数据库表的复合空间索引进行索引覆盖扫描查询;
如果否,则根据所述查询条件从所述数据库表的复合空间索引中查询到符合所述查询条件的备选记录,根据所述备选记录的主键,回所述数据库表进一步查询得到符合所述查询条件的完整的行记录。
具体的,通过下述处理根据所述查询条件对所述数据库表的复合空间索引进行索引覆盖扫描查询:
根据所述空间查询字段判断是否为查询所述数据库表的复合空间索引的空间字段;
如果是,根据所述空间查询字段的前缀信息包含的长度条件,对复合空间索引进行索引覆盖扫描查询;
如果否,对数据库表的复合空间索引进行索引覆盖扫描查询。
本申请实施例中,具体采用下述处理根据所述空间查询字段的前缀信息包含的长度条件,对复合空间索引进行索引覆盖扫描查询:
获得所述空间查询字段的前缀信息包含的长度条件;
判断复合空间索引的行记录的长度是否满足所述长度条件,如果满足所述长度条件,则将所述行记录作为索引覆盖扫描查询结果;
如果否,则根据主键信息对所述数据库表进行查询。
请参考图4。图4示出了本申请第二实施例提供的数据库查询的处理方法的一种具体实现的流程图。图中包括:
S401,查询开始,即收到查询命令,启动查询流程。
S402,查询优化,即解析查询命令的语句,将查询条件拆解成各个token以备后续流程中使用。
S403,判断是否通过空间索引进行查询。本申请实施例中,当查询条件中包含空间数据几何操作符例如相交、包含、方位、距离、距离排序等,则判断优先使用空间索引。如果是,则转入S404;如果否,则转入S404-1。
S404,判断复合空间索引是否包含查询的字段,即判断复合空间索引是否包含查询命令中要求查询的字段。本申请实施例中根据拆解得到的各个token判断数据库表的复合空间索引是否包括查询命令中要求查询的字段(或数据库表的列)。如果复合空间索引包括查询命令中要求查询的字段转入S405;如果复合空间索引不包括查询命令中要求查询的字段,则转入S405-1。
S404-1,进入其他非空间字段索引处理流程。即不能优先进行空间索引查询,需要根据非空间字段查询。本申请实施例中,进行下述操作:获取所述数据库表中匹配所述查询条件的非空间查询字段的备选记录,根据所述查询条件的空间查询字段,从所述备选记录中获得符合所述查询条件的查询结果。具体的,包括下述处理:
对所述备选的行记录的数据进行空间计算,根据计算结果从所述备选的行记录中获得符合所述空间查询字段的行记录;
将所述符合所述空间查询字段的行记录作为符合所述查询条件的查询结果。
该处理中由于需要将每一行记录的完整数据查询出来,之后使用标准的空间计算函数来计算是否符合查询条件中的相交、包含、方位、距离、距离排序等几何空间操作。
S405,判断查询命令中是否要求查询空间字段。如果查询命令中要求获取空间字段,则转入S406;如果查询命令中不要求获取空间字段,则转入S406-1。
S405-1,进行回表查询操作,具体包括筛选出符合查询条件中的空间查询条件的备选记录后,回到主键表中进一步查询,获取所有字段,判断是否符合查询条件中的其他非空间查询条件。
S406,判断记录的空间数据的长度是否满足空间字段前缀的长度条件。如果空间数据的长度满足空间字段前缀的长度条件,则转入S406-1;如果空间数据的长度不满足空间字段前缀的长度条件,则转入S405-1。
S406-1,进行索引覆盖扫描操作,即对所述复合空间索引进行覆盖扫描获得需要的查询结果。
沿用某数据库A的数据库表test查询命令的例子。上述select命令为从test表中选择满足where语句指定的查询条件的记录中的ID、GEOM、VERSION信息,本举例中查询条件包含空间查询条件和非空间查询条件,空间查询条件为MBRIntersects运算,非空间查询条件为VERSION条件,即version in(2,3)。创建test表时建立了复合前缀空间索引sck,sck记录了GEOM字段的30字节前缀,VERSION,以及作为二级索引自动包含的主键ID。在查询query中where条件里首先是有一个最小包围盒运算的过滤条件,符合空间索引的查询过滤方式,然后,其他的过滤条件以及查询的内容都是sck这个索引的索引列因此,执行S405;此外,判断是否可以采用空间索引查询方式,还可以判断复合空间索引的空间字段是否进行了空间索引能进行的条件过滤,例如,包围盒运算、距离运算等,以及复合空间索引是否还包含其他普通字段的筛选。执行S405过程中,由于select了geom字段,因此转入S406,进一步判断空间前缀的长度条件,如果索引中符合包围盒过滤的结果中的geom利用wkb编码后结果是小于30个字节,比如是point(113.228,23.078),相应的,该point的wkb长度为25,则sck索引的叶子节点中能够记录了完整的geom wkb信息,因此可以转入S406-1进行索引覆盖扫描,如果是一个非常大的multi polygon(多边形),wkb编码长度超过30字节,sck索引上对这种情形的记录有标识,根据标识进行回表查询操作,即转入S405-1再查一次主键索引来获取geom的完整记录。
与本申请第一实施例提供的一种数据库索引的处理方法相对应,本申请第三实施例还提供了一种数据库索引的处理装置。
参照图5,其示出了本申请第三实施例提供的数据库索引的处理装置示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见方法实施例的对应说明即可。
本申请提供一种数据库索引的处理装置,包括:
数据库表确定单501,用于确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
过滤条件获得单元502,用于获得针对所述数据库表的包含空间字段标识的空间过滤条件;
索引生成单元503,用于根据所述空间过滤条件,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识。
其中,所述空间过滤条件包含空间字段前缀信息;所述索引生成单元503具体用于:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段前缀信息;
根据所述空间字段前缀信息,生成所述数据库表的空间前缀索引;其中,所述空间前缀索引的索引列包括所述空间字段前缀信息;
将所述空间前缀索引作为所述树型结构空间索引。
其中,所述空间过滤条件包括最小包围盒运算类型的过滤条件;所述索引生成单元503具体用于:
根据所述最小包围盒运算类型的过滤条件,对所述数据库表进行最小包围盒过滤,得到符合所述最小包围盒运算类型的过滤条件的备选空间字段;
针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;
根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引。
其中,所述空间字段前缀信息包含用于指示空间字段存储的空间数据的长度条件;所述索引生成单元503具体用于:
获得所述地理空间信息标准字节流编码后的空间数据的长度;
根据所述空间字段前缀信息获得所述长度条件;
如果地理空间信息标准字节流编码后的空间数据的长度符合所述长度条件,则在所述空间前缀索引的叶子节点存储符合长度条件的空间数据;
否则,所述空间前缀索引的叶子节点不保存所述空间数据。
其中,所述索引生成单元503具体用于:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段的信息;
获得用于生成所述树型结构空间索引的非空间字段的信息;
根据所述空间字段的信息和所述非空间字段的信息,生成所述数据库表的复合空间索引;其中,所述空间复合索引的索引列包括所述空间字段以及所述非空间字段;
将所述复合空间索引作为所述树型结构空间索引。
其中,所述索引生成单元503具体用于:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段前缀的信息;
获得用于生成所述树型结构空间索引的非空间字段的信息;
根据所述空间字段前缀的信息和所述非空间字段的信息,生成复合前缀空间索引;其中,所述复合前缀空间索引的索引列包括所述空间字段前缀以及所述非空间字段;
将所述空间复合前缀索引作为所述树型结构空间索引。
其中,所述树型结构空间索引的索引列包括空间字段;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。
其中,所述装置还包括命令单元,所述命令单元用于:
根据数据库表创建命令创建所述数据库表,在所述数据库表创建命令中包括生成所述树型结构空间索引的索引创建命令;或者,
根据索引创建命令创建所述树型结构空间索引。
与本申请第二实施例提供的一种数据库查询的处理方法相对应,本申请第四实施例还提供了一种数据库查询的处理装置。
参照图6,其示出了本申请第四实施例提供的数据库查询的处理装置示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见方法实施例的对应说明即可。
图6所示的数据库查询的处理装置,包括:
数据库表确定单元601,用于确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
查询条件确定单元602,用于获得针对所述数据库表的包含空间查询字段的查询条件;
索引获得单元603,用于获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;
查询单元604,用于根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
其中,所述查询条件还包括非空间字段;所述查询单元604具体用于:
获得所述查询条件的空间字段;
判断所述空间字段是否匹配所述树型结构空间索引的索引列的空间字段标识;
如果是,则根据所述查询条件的空间查询字段,对所述数据库表的复合空间索引进行查询,得到符合所述查询条件的查询结果;
如果否,则获取所述数据库表中匹配所述查询条件的非空间查询字段的备选记录,根据所述查询条件的空间查询字段,从所述备选记录中获得符合所述查询条件的查询结果。
其中,所述查询单元604具体用于:获得所述查询条件的非空间查询字段;
判断所述空间查询字段和所述非空间查询字段为所述数据库表的复合空间索引包括的索引列;
如果是,则确定所述查询条件符合针对所述数据库表的符合空间索引查询方式,根据所述查询条件对所述数据库表的复合空间索引进行索引覆盖扫描查询;
如果否,则根据所述查询条件从所述数据库表的复合空间索引中查询到符合所述查询条件的备选记录,根据所述备选记录的主键,回所述数据库表进一步查询得到符合所述查询条件的完整的行记录。
其中,所述查询单元604包括索引覆盖扫描子单元,所述索引覆盖扫描子单元用于:根据所述空间查询字段判断是否为查询所述数据库表的复合空间索引的空间字段;
如果是,根据所述空间查询字段的前缀信息包含的长度条件,对复合空间索引进行索引覆盖扫描查询;
如果否,对数据库表的复合空间索引进行索引覆盖扫描查询。
其中,所述索引覆盖扫描子单元具体用于:获得所述空间查询字段的前缀信息包含的长度条件;
判断复合空间索引的行记录的长度是否满足所述长度条件,如果满足所述长度条件,则将所述行记录作为索引覆盖扫描查询结果;如果否,则根据主键信息对所述数据库表进行查询。
其中,所述查询单元604具体用于:
对所述备选的行记录的数据进行空间计算,根据计算结果从所述备选的行记录中获得符合所述空间查询字段的行记录;
将所述符合所述空间查询字段的行记录作为符合所述查询条件的查询结果。
其中,所述查询条件的空间查询信息为包括空间查询字段的最小包围盒运算。
其中,所述树型结构空间索引的索引列包括空间字段;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。
其中,所述叶子节点还包括主键标识。
以上述实施例为基础,本申请第五实施例还提供了一种用于实现所述数据库索引的处理方法的电子设备,参照图7,其示出了第五实施例提供的一种电子设备的示意图。
本申请第五实施例描述得比较简单,相关的部分请参见上述实施例的对应说明即可。
本申请第五实施例提供一种电子设备,包括:
存储器701,以及处理器702;
所述存储器701用于存储计算机可执行指令,所述处理器702用于执行所述计算机可执行指令:
确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间字段标识的空间过滤条件;
根据所述空间过滤条件,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识。
可选的,所述空间过滤条件包含空间字段前缀信息;所述处理器702还用于执行下述计算机可执行指令:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段前缀信息;
根据所述空间字段前缀信息,生成所述数据库表的空间前缀索引;其中,所述空间前缀索引的索引列包括所述空间字段前缀信息;
将所述空间前缀索引作为所述树型结构空间索引。
可选的,所述空间过滤条件包括最小包围盒运算类型的过滤条件;所述处理器702还用于执行下述计算机可执行指令:
根据所述最小包围盒运算类型的过滤条件,对所述数据库表进行最小包围盒过滤,得到符合所述最小包围盒运算类型的过滤条件的备选空间字段;
针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;
根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引。
可选的,所述空间字段前缀信息包含用于指示空间字段存储的空间数据的长度条件;所述处理器702还用于执行下述计算机可执行指令:
获得所述地理空间信息标准字节流编码后的空间数据的长度;
根据所述空间字段前缀信息获得所述长度条件;
如果地理空间信息标准字节流编码后的空间数据的长度符合所述长度条件,则在所述空间前缀索引的叶子节点存储符合长度条件的空间数据;
否则,所述空间前缀索引的叶子节点不保存所述空间数据。
可选的,所述处理器702还用于执行下述计算机可执行指令:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段的信息;
获得用于生成所述树型结构空间索引的非空间字段的信息;
根据所述空间字段的信息和所述非空间字段的信息,生成所述数据库表的复合空间索引;其中,所述空间复合索引的索引列包括所述空间字段以及所述非空间字段;
将所述复合空间索引作为所述树型结构空间索引。
可选的,所述处理器702还用于执行下述计算机可执行指令:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段前缀的信息;
获得用于生成所述树型结构空间索引的非空间字段的信息;
根据所述空间字段前缀的信息和所述非空间字段的信息,生成复合前缀空间索引;其中,所述复合前缀空间索引的索引列包括所述空间字段前缀以及所述非空间字段;
将所述空间复合前缀索引作为所述树型结构空间索引。
可选的,所述树型结构空间索引的索引列包括空间字段;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。
可选的,所述处理器702还用于执行下述计算机可执行指令:
根据数据库表创建命令创建所述数据库表,在所述数据库表创建命令中包括生成所述树型结构空间索引的索引创建命令;或者,
根据索引创建命令创建所述树型结构空间索引。
以上述实施例为基础,本申请第六实施例还提供了一种用于实现所述数据库查询的处理方法的电子设备,其结构类似图7。
本申请第六实施例描述得比较简单,相关的部分请参见上述实施例的对应说明即可。
本申请第六实施例提供一种电子设备,包括:
存储器,以及处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间查询字段的查询条件;
获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;
根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
可选的,所述叶子节点还包括主键标识。
可选的,所述查询条件还包括非空间字段;所述处理器还用于执行下述计算机可执行指令:
获得所述查询条件的空间字段;
判断所述空间字段是否匹配所述树型结构空间索引的索引列的空间字段标识;
如果是,则根据所述查询条件的空间查询字段,对所述数据库表的复合空间索引进行查询,得到符合所述查询条件的查询结果;
如果否,则获取所述数据库表中匹配所述查询条件的非空间查询字段的备选记录,根据所述查询条件的空间查询字段,从所述备选记录中获得符合所述查询条件的查询结果。
可选的,所述处理器还用于执行下述计算机可执行指令:
获得所述查询条件的非空间查询字段;
判断所述空间查询字段和所述非空间查询字段为所述数据库表的复合空间索引包括的索引列;
如果是,则确定所述查询条件符合针对所述数据库表的符合空间索引查询方式,根据所述查询条件对所述数据库表的复合空间索引进行索引覆盖扫描查询;
如果否,则根据所述查询条件从所述数据库表的复合空间索引中查询到符合所述查询条件的备选记录,根据所述备选记录的主键,回所述数据库表进一步查询得到符合所述查询条件的完整的行记录。
可选的,所述处理器还用于执行下述计算机可执行指令:
根据所述空间查询字段判断是否为查询所述数据库表的复合空间索引的空间字段;
如果是,根据所述空间查询字段的前缀信息包含的长度条件,对复合空间索引进行索引覆盖扫描查询;
如果否,对数据库表的复合空间索引进行索引覆盖扫描查询。
可选的,所述处理器还用于执行下述计算机可执行指令:
获得所述空间查询字段的前缀信息包含的长度条件;
判断复合空间索引的行记录的长度是否满足所述长度条件,如果满足所述长度条件,则将所述行记录作为索引覆盖扫描查询结果;
如果否,则根据主键信息对所述数据库表进行查询。
可选的,所述处理器还用于执行下述计算机可执行指令:
对所述备选的行记录的数据进行空间计算,根据计算结果从所述备选的行记录中获得符合所述空间查询字段的行记录;
将所述符合所述空间查询字段的行记录作为符合所述查询条件的查询结果。
可选的,所述查询条件的空间查询信息为包括空间查询字段的最小包围盒运算。
可选的,所述树型结构空间索引的索引列包括空间字段;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。
本申请第七实施例还提供一种存储设备,其描述得比较简单,相关的部分请参见上述实施例的对应说明即可。
本申请提供一种存储设备,存储有指令,所述指令能够被处理器加载并执行以下步骤:
确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间字段标识的空间过滤条件;
根据所述空间过滤条件,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识。
本申请第八实施例还提供一种存储设备,其描述得比较简单,相关的部分请参见上述实施例的对应说明即可。
本申请提供一种存储设备,存储有指令,所述指令能够被处理器加载并执行以下步骤:
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间查询字段的查询条件;
获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;
根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

Claims (20)

1.一种数据库索引的处理方法,其特征在于,包括:
确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间字段标识的空间过滤条件;其中,所述空间过滤条件包含空间字段前缀信息以及最小包围盒运算类型的过滤条件;所述最小包围盒运算包含交叉运算或重叠运算;
根据所述空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识;所述备选空间字段,根据所述最小包围盒运算类型的过滤条件对所述数据库表进行最小包围盒过滤得到;
其中,所述根据所述空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据,生成所述数据库表的树型结构空间索引,包括:针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,将所述空间前缀索引作为所述树型结构空间索引。
2.根据权利要求1所述的方法,其特征在于,所述空间字段前缀信息包含用于指示空间字段存储的空间数据的长度条件;
所述根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,包括:
获得所述地理空间信息标准字节流编码后的空间数据的长度;
根据所述空间字段前缀信息获得所述长度条件;
如果地理空间信息标准字节流编码后的空间数据的长度符合所述长度条件,则在所述空间前缀索引的叶子节点存储符合长度条件的空间数据;
否则,所述空间前缀索引的叶子节点不保存所述空间数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述空间过滤条件,生成所述数据库表的树型结构空间索引,包括:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段的信息;
获得用于生成所述树型结构空间索引的非空间字段的信息;
根据所述空间字段的信息和所述非空间字段的信息,生成所述数据库表的复合空间索引;其中,所述空间复合索引的索引列包括所述空间字段以及所述非空间字段;
将所述复合空间索引作为所述树型结构空间索引。
4.根据权利要求1所述的方法,其特征在于,所述根据所述空间过滤条件,生成所述数据库表的树型结构空间索引,包括:
根据所述空间过滤条件,获得用于生成所述树型结构空间索引的空间字段前缀的信息;
获得用于生成所述树型结构空间索引的非空间字段的信息;
根据所述空间字段前缀的信息和所述非空间字段的信息,生成复合前缀空间索引;其中,所述复合前缀空间索引的索引列包括所述空间字段前缀以及所述非空间字段;
将所述空间复合前缀索引作为所述树型结构空间索引。
5.根据权利要求1所述的方法,其特征在于,所述树型结构空间索引的索引列包括空间字段;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。
6.根据权利要求1所述的方法,其特征在于,还包括:
根据数据库表创建命令创建所述数据库表,在所述数据库表创建命令中包括生成所述树型结构空间索引的索引创建命令;或者,
根据索引创建命令创建所述树型结构空间索引。
7.一种数据库查询的处理方法,其特征在于,包括:
确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间查询字段的查询条件;
获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;其中,所述数据库表的树型结构空间索引,根据空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据生成,所述空间过滤条件还包含最小包围盒运算类型的过滤条件;所述最小包围盒运算包含交叉运算或重叠运算;所述备选空间字段,根据所述最小包围盒运算类型的过滤条件对所述数据库表进行最小包围盒过滤得到;其中,所述数据库表的树型结构空间索引,根据空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据通过如下处理生成:针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,将所述空间前缀索引作为所述树型结构空间索引;
根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
8.根据权利要求7所述的方法,其特征在于,所述查询条件还包括非空间字段;
所述根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果,包括:
获得所述查询条件的空间字段;
判断所述空间字段是否匹配所述树型结构空间索引的索引列的空间字段标识;
如果是,则根据所述查询条件的空间查询字段,对所述数据库表的复合空间索引进行查询,得到符合所述查询条件的查询结果;
如果否,则获取所述数据库表中匹配所述查询条件的非空间查询字段的备选记录,根据所述查询条件的空间查询字段,从所述备选记录中获得符合所述查询条件的查询结果。
9.根据权利要求8所述的方法,其特征在于,所述根据所述查询条件的空间查询字段,对所述数据库表的复合空间索引进行查询,得到符合所述查询条件的查询结果,包括:
获得所述查询条件的非空间查询字段;
判断所述空间查询字段和所述非空间查询字段是否为所述数据库表的复合空间索引包括的索引列;
如果是,则确定所述查询条件符合针对所述数据库表的空间索引查询方式,根据所述查询条件对所述数据库表的复合空间索引进行索引覆盖扫描查询;
如果否,则根据所述查询条件从所述数据库表的复合空间索引中查询到符合所述查询条件的备选记录,根据所述备选记录的主键,回所述数据库表进一步查询得到符合所述查询条件的完整的行记录。
10.根据权利要求9所述的方法,其特征在于,所述根据所述查询条件对所述数据库表的复合空间索引进行索引覆盖扫描查询,包括:
根据所述空间查询字段判断是否为查询所述数据库表的复合空间索引的空间字段;
如果是,根据所述空间查询字段的前缀信息包含的长度条件,对复合空间索引进行索引覆盖扫描查询;
如果否,对数据库表的复合空间索引进行索引覆盖扫描查询。
11.根据权利要求10所述的方法,其特征在于,所述根据所述空间查询字段的前缀信息包含的长度条件,对复合空间索引进行索引覆盖扫描查询,包括:
获得所述空间查询字段的前缀信息包含的长度条件;
判断复合空间索引的行记录的长度是否满足所述长度条件,如果满足所述长度条件,则将所述行记录作为索引覆盖扫描查询结果;
如果否,则根据主键信息对所述数据库表进行查询。
12.根据权利要求8所述的方法,其特征在于,所述根据所述查询条件的空间查询字段,从所述备选记录中获得符合所述查询条件的查询结果,包括:
对所述备选的行记录的数据进行空间计算,根据计算结果从所述备选的行记录中获得符合所述空间查询字段的行记录;
将所述符合所述空间查询字段的行记录作为所述查询条件的查询结果。
13.根据权利要求7所述的方法,其特征在于,所述查询条件的空间查询信息为包括空间查询字段的最小包围盒运算。
14.根据权利要求7所述的方法,其特征在于,所述树型结构空间索引的索引列包括空间字段;所述树型结构空间索引的非叶子节点存储有用于检索所述空间数据的最小包围盒以及寻找下一层页面的页面标识。
15.一种数据库索引的处理装置,其特征在于,包括:
数据库表确定单元,用于确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
过滤条件获得单元,用于获得针对所述数据库表的包含空间字段标识的空间过滤条件;其中,所述空间过滤条件包含空间字段前缀信息以及最小包围盒运算类型的过滤条件;所述最小包围盒运算包含交叉运算或重叠运算;
索引生成单元,用于根据所述空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识;所述备选空间字段,根据所述最小包围盒运算类型的过滤条件对所述数据库表进行最小包围盒过滤得到;其中,所述根据所述空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据,生成所述数据库表的树型结构空间索引,包括:针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,将所述空间前缀索引作为所述树型结构空间索引。
16.一种数据库查询的处理装置,其特征在于,包括:
数据库表确定单元,用于确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
查询条件确定单元,用于获得针对所述数据库表的包含空间查询字段的查询条件;
索引获得单元,用于获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;其中,所述数据库表的树型结构空间索引,根据空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据生成,所述空间过滤条件还包含最小包围盒运算类型的过滤条件;所述最小包围盒运算包含交叉运算或重叠运算;所述备选空间字段,根据所述最小包围盒运算类型的过滤条件对所述数据库表进行最小包围盒过滤得到;其中,所述数据库表的树型结构空间索引,根据空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据通过如下处理生成:针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,将所述空间前缀索引作为所述树型结构空间索引;
查询单元,用于根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
17.一种电子设备,其特征在于,包括:
存储器,以及处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间字段标识的空间过滤条件;其中,所述空间过滤条件包含空间字段前缀信息以及最小包围盒运算类型的过滤条件;所述最小包围盒运算包含交叉运算或重叠运算;
根据所述空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识;所述备选空间字段,根据所述最小包围盒运算类型的过滤条件对所述数据库表进行最小包围盒过滤得到;其中,所述根据所述空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据,生成所述数据库表的树型结构空间索引,包括:针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,将所述空间前缀索引作为所述树型结构空间索引。
18.一种电子设备,其特征在于,包括:
存储器,以及处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间查询字段的查询条件;
获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;其中,所述数据库表的树型结构空间索引,根据空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据生成,所述空间过滤条件还包含最小包围盒运算类型的过滤条件;所述最小包围盒运算包含交叉运算或重叠运算;所述备选空间字段,根据所述最小包围盒运算类型的过滤条件对所述数据库表进行最小包围盒过滤得到;其中,所述数据库表的树型结构空间索引,根据空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据通过如下处理生成:针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,将所述空间前缀索引作为所述树型结构空间索引;
根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
19.一种存储设备,其特征在于,存储有指令,所述指令能够被处理器加载并执行以下步骤:
确定待创建数据库索引的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间字段标识的空间过滤条件;其中,所述空间过滤条件包含空间字段前缀信息以及最小包围盒运算类型的过滤条件;所述最小包围盒运算包含交叉运算或重叠运算;
根据所述空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据,生成所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有符合所述空间过滤条件的空间数据以及主键标识;所述备选空间字段,根据所述最小包围盒运算类型的过滤条件对所述数据库表进行最小包围盒过滤得到;其中,所述根据所述空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据,生成所述数据库表的树型结构空间索引,包括:针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,将所述空间前缀索引作为所述树型结构空间索引。
20.一种存储设备,其特征在于,存储有指令,所述指令能够被处理器加载并执行以下步骤:
确定待查询空间数据的数据库表;其中,所述数据库表包含用于存储空间数据的空间字段;
获得针对所述数据库表的包含空间查询字段的查询条件;
获得所述数据库表的树型结构空间索引;其中,所述树型结构空间索引的叶子节点存储有空间数据;其中,所述数据库表的树型结构空间索引,根据空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据生成,所述空间过滤条件还包含最小包围盒运算类型的过滤条件;所述最小包围盒运算包含交叉运算或重叠运算;所述备选空间字段,根据所述最小包围盒运算类型的过滤条件对所述数据库表进行最小包围盒过滤得到;其中,所述数据库表的树型结构空间索引,根据空间过滤条件包含的空间字段前缀信息以及备选空间字段存储的空间数据通过如下处理生成:针对所述备选空间字段存储的空间数据进行地理空间信息标准字节流编码;根据地理空间信息标准字节流编码后的空间数据和所述空间字段前缀信息,生成所述数据库表的空间前缀索引,将所述空间前缀索引作为所述树型结构空间索引;
根据所述查询条件,对所述树型结构空间索引进行查询,得到查询结果。
CN201811422523.XA 2018-11-27 2018-11-27 数据库索引以及数据库查询的处理方法、装置及设备 Active CN111221813B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811422523.XA CN111221813B (zh) 2018-11-27 2018-11-27 数据库索引以及数据库查询的处理方法、装置及设备
JP2021529833A JP2022510184A (ja) 2018-11-27 2019-11-19 データベースインデックスおよびデータベースクエリ処理方法、装置、およびデバイス
PCT/CN2019/119394 WO2020108345A1 (zh) 2018-11-27 2019-11-19 数据库索引以及数据库查询的处理方法、装置及设备
EP19889311.7A EP3889797A4 (en) 2018-11-27 2019-11-19 DATABASE INDEX AND DATABASE QUERY PROCESSING METHOD, APPARATUS AND DEVICE
US17/332,724 US20210286795A1 (en) 2018-11-27 2021-05-27 Database index and database query processing method, apparatus, and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811422523.XA CN111221813B (zh) 2018-11-27 2018-11-27 数据库索引以及数据库查询的处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN111221813A CN111221813A (zh) 2020-06-02
CN111221813B true CN111221813B (zh) 2023-06-23

Family

ID=70827421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811422523.XA Active CN111221813B (zh) 2018-11-27 2018-11-27 数据库索引以及数据库查询的处理方法、装置及设备

Country Status (5)

Country Link
US (1) US20210286795A1 (zh)
EP (1) EP3889797A4 (zh)
JP (1) JP2022510184A (zh)
CN (1) CN111221813B (zh)
WO (1) WO2020108345A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328629A (zh) * 2020-09-14 2021-02-05 咪咕文化科技有限公司 实体对象处理方法、装置和电子设备
CN113641681B (zh) * 2021-10-13 2022-02-22 南京大数据集团有限公司 一种空间自适应的海量数据查询方法
CN117425887A (zh) * 2022-05-18 2024-01-19 京东方科技集团股份有限公司 数据处理方法、装置、电子设备和计算机可读存储介质
CN117555906B (zh) * 2024-01-12 2024-04-05 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101506847A (zh) * 2006-08-22 2009-08-12 国际商业机器公司 用于划分空间索引的方法和系统
WO2014061846A1 (ko) * 2012-10-17 2014-04-24 주식회사 리얼타임테크 혼합 질의 처리를 위한 색인 생성 방법, 혼합 질의 처리 방법 및 색인 자료구조를 기록한 기록 매체
CN107391502A (zh) * 2016-05-16 2017-11-24 阿里巴巴集团控股有限公司 时间间隔的数据查询方法、装置及索引构建方法、装置
US10007677B1 (en) * 2014-12-04 2018-06-26 Google Llc System and method for geospatial indexing
CN108628969A (zh) * 2018-04-24 2018-10-09 咪咕文化科技有限公司 一种空间关键字索引方法及平台、存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233720A1 (en) * 2006-04-04 2007-10-04 Inha-Industry Partnership Institute Lazy bulk insertion method for moving object indexing
US7737974B2 (en) * 2006-09-27 2010-06-15 International Business Machines Corporation Reallocation of spatial index traversal between processing elements in response to changes in ray tracing graphics workload
US8155880B2 (en) * 2008-05-09 2012-04-10 Locomatix Inc. Location tracking optimizations
WO2010061260A1 (en) * 2008-11-03 2010-06-03 Elvin Slavik Method, system, and product for managing spatial data in a database
CN103339624A (zh) * 2010-12-14 2013-10-02 加利福尼亚大学董事会 支持地理结构数据的交互式模糊搜索的高效前缀搜索算法
US9104770B2 (en) * 2013-02-28 2015-08-11 Oracle International Corporation Methods for query processing of topological relationships among complex spatial objects
US11210279B2 (en) * 2016-04-15 2021-12-28 Apple Inc. Distributed offline indexing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101506847A (zh) * 2006-08-22 2009-08-12 国际商业机器公司 用于划分空间索引的方法和系统
WO2014061846A1 (ko) * 2012-10-17 2014-04-24 주식회사 리얼타임테크 혼합 질의 처리를 위한 색인 생성 방법, 혼합 질의 처리 방법 및 색인 자료구조를 기록한 기록 매체
US10007677B1 (en) * 2014-12-04 2018-06-26 Google Llc System and method for geospatial indexing
CN107391502A (zh) * 2016-05-16 2017-11-24 阿里巴巴集团控股有限公司 时间间隔的数据查询方法、装置及索引构建方法、装置
CN108628969A (zh) * 2018-04-24 2018-10-09 咪咕文化科技有限公司 一种空间关键字索引方法及平台、存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hongli Deng etal..Retrieving Large-Scale High Density Video Target Tracks from Spatial Database.《Proceedings of the 3rd international Conference on Computing for Geospatial Research and Applications》.2012,全文. *

Also Published As

Publication number Publication date
US20210286795A1 (en) 2021-09-16
EP3889797A1 (en) 2021-10-06
CN111221813A (zh) 2020-06-02
JP2022510184A (ja) 2022-01-26
WO2020108345A1 (zh) 2020-06-04
EP3889797A4 (en) 2022-08-17

Similar Documents

Publication Publication Date Title
CN111221813B (zh) 数据库索引以及数据库查询的处理方法、装置及设备
CN107038207B (zh) 一种数据查询方法、数据处理方法及装置
CN108920462B (zh) 基于地图的兴趣点poi检索方法和装置
JP6032467B2 (ja) 時空間データ管理システム、時空間データ管理方法、及びそのプログラム
Lee et al. Efficient spatial query processing for big data
US20070253642A1 (en) Method and apparatus for indexing, storing and retrieving raster (GRID) data in a combined raster vector system
US8862566B2 (en) Systems and methods for intelligent parallel searching
CN107766433B (zh) 一种基于Geo-BTree的范围查询方法及装置
US11307049B2 (en) Methods, apparatuses, systems, and storage media for storing and loading visual localization maps
JP2003330943A (ja) 多次元インデクス生成装置、多次元インデクス生成方法、近似情報作成装置、近似情報作成方法、及び検索装置
CN109885632B (zh) 一种空间科学与应用数据检索方法、系统、介质及设备
CN111522892B (zh) 地理要素的检索方法及装置
Pandey et al. How good are modern spatial libraries?
CN114691721A (zh) 图数据的查询方法、装置、电子设备及存储介质
CN111813849A (zh) 数据抽取方法、装置及设备、存储介质
CN104572805A (zh) 通过实时索引生成处理地图数据的装置和方法及其系统
CN114297204A (zh) 一种异构数据源的数据存储、检索方法及装置
Brahem et al. AstroSpark: towards a distributed data server for big data in astronomy
CN111125216B (zh) 数据导入Phoenix的方法及装置
CN116414935A (zh) 一种基于Elastic Search的分布式搜索空间矢量数据的方法
CN115495537A (zh) 一种地址描述信息处理方法及设备
CN111008198A (zh) 业务数据获取方法、装置、存储介质、电子设备
JP6904724B2 (ja) 地図データベース作成装置及び地図データベース作成方法並びに地図データベース作成プログラム
CN111382220A (zh) 一种poi数据划分方法和装置
CN110968555A (zh) 维度数据处理方法和装置

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230713

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right