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