我正在尝试从我的表中获取到离给定点最近的100个点。
我正在使用
SELECT *, GLENGTH(
LINESTRINGFROMWKB(
LINESTRING(
ASBINARY(
POINTFROMTEXT("POINT(40.4495 -79.988)")
),
ASBINARY(pt)
)
)
)
AS `distance` FROM `ip_group_city` ORDER BY distance LIMIT 100
(是的,那很痛苦。我刚刚谷歌了一下。我不知道如何在MySQL中正确地测量距离)
执行时需要很长时间。EXPLAIN
表明没有possible_keys
。
我在pt
列上创建了一个SPATIAL
索引:
CREATE SPATIAL INDEX sp_index ON ip_group_city (pt);
虽然我不太知道如何正确使用它。你能帮我吗?