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