MySQL 8.4 Release Notes
13.4.9 空间分析优化
对于MyISAM
和InnoDB
表格,使用SPATIAL
索引可以优化搜索操作,这些操作通常包括:
-
点查询,用于查找包含特定点的所有对象
-
区域查询,用于查找与给定区域重叠的所有对象
MySQL 使用R-树(R-Trees)和二次切分来优化SPATIAL
索引。一个SPATIAL
索引是通过几何的最小边界矩形(MBR)来构建的。对于大多数几何体,MBR是一个包含这些几何体的最小矩形。对于水平或垂直线性字符串,MBR是一个退化成线性的矩形。对于一个点,MBR是一个退化成点的矩形。
还可以创建普通索引来优化空间列。在非SPATIAL
索引中,你必须为任何空间列声明一个前缀,除了POINT
类型的列。
MyISAM
和InnoDB
都支持SPATIAL
和非SPATIAL
索引。其他存储引擎支持非SPATIAL
索引,详见Section 15.1.15, “CREATE INDEX 语句”。