相关疑难解决方法(0)

加入空间mysql索引

我有两个表:一个有点,另一个有多边形.

CREATE TABLE `points` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `point` point NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM;

CREATE TABLE `ranges` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `poly` polygon NOT NULL,
  PRIMARY KEY (`id`),
  SPATIAL KEY `poly` (`poly`)
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)

我希望将范围加入到多边形内的点上.查询看起来很简单:

SELECT * 
  FROM points 
    LEFT JOIN ranges 
      ON MBRCONTAINS(poly, point) 
  WHERE points.id = 2;
Run Code Online (Sandbox Code Playgroud)

此查询工作正常并使用索引,解释的一部分:

table  | type  | possible_keys | key  | key_len
ranges | range | poly          | poly | 34

但是,当我尝试从表中连接几行时points: …

mysql indexing optimization geospatial

11
推荐指数
1
解决办法
2532
查看次数

标签 统计

geospatial ×1

indexing ×1

mysql ×1

optimization ×1