1
可以使用空間索引來連接mysql中的表嗎?可以使用空間索引來連接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
解釋計劃是:
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | | 1 | SIMPLE | a | ALL | asidx | NULL | NULL | NULL | 50000 | | | 1 | SIMPLE | b | ALL | bsidx | NULL | NULL | NULL | 50000 | Using where; Using join buffer |
爲什麼不在索引使用? 對於50k行表,它運行15分鐘。 如何讓它更快?
因爲我需要相交記錄,所以沒有什麼可以預先計算的。只有交點的計算。你是否說沒有辦法加快速度? – Amnon