【发布时间】:2015-01-15 13:31:21
【问题描述】:
空间索引可以用来连接mysql中的表吗?
我有两个表,其中有一个 GEOMETRY 列和一个空间索引。该表是 MyISAM。
我想在相交的行上加入这些表。
尽管在我的查询中使用了FORCE INDEX,但我无法让 mysql 使用空间索引。
查询是:
SELECT *
FROM a FORCE INDEX FOR JOIN (asidx)
JOIN b FORCE INDEX FOR JOIN (bsidx)
ON Intersects(a.g, b.g) -- g is the name of the GEOMETRY
解释计划是:
|编号 |选择类型 |表|类型 |可能的键 |关键 | key_len |参考 |行 |额外 | | 1 |简单 |一个 |全部 |阿西德 |空 |空 |空 | 50000 | | | 1 |简单 |乙 |全部 | bsidx |空 |空 |空 | 50000 |使用哪里;使用连接缓冲区 |为什么不使用索引? 对于 50k 行表,它运行 15 分钟。 我怎样才能让它更快?
【问题讨论】:
标签: mysql query-optimization spatial spatial-index