MySQL 8.4 发行说明
对于 MyISAM 和 InnoDB 表,可以使用 SPATIAL 索引优化对包含空间数据的列进行的搜索操作。最典型的操作是:
点查询,用于搜索包含给定点的所有对象
区域查询,用于搜索与给定区域重叠的所有对象
MySQL 在空间列的 SPATIAL 索引中使用具有二次分割的 R-Tree。 SPATIAL 索引是使用几何图形的最小边界矩形 (MBR) 构建的。 对于大多数几何图形,MBR 是围绕几何图形的最小矩形。 对于水平或垂直线段,MBR 是退化为线段的矩形。 对于点,MBR 是退化为点的矩形。
也可以在空间列上创建普通索引。 在非 SPATIAL 索引中,必须为除 POINT 列之外的任何空间列声明前缀。
MyISAM 和 InnoDB 支持 SPATIAL 和非 SPATIAL 索引。 其他存储引擎支持非 SPATIAL 索引,如 第 15.1.15 节“CREATE INDEX 语句” 中所述。