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