我正在使用MySQL中的maxmind geocities table (see here)。
这个表有超过270万行(非常大)。
我正在努力寻找重复的城市(为了找到每个城市的不同拼写,比如pekin (fr),北京...)跟随他们的经度和纬度。
即使我使用left outer join、子请求或复杂的where子句,但响应时间太长(它永远不会结束)。
这是我的最后一次尝试:
select *
from cities c1, cities c2
where c2.longitude=c1.longitude
and c2.latitude=c1.latitude
and c2.cities!=c1.cities有谁有主意。
发布于 2011-11-27 23:31:00
您可以通过不选择* (我认为cities就足够了)并在cities(longtitude,latitude)甚至cities(longtitude,latitude, cities)上添加索引来加快查询速度。您也可以尝试
SELECT longitude,latitude, COUNT(DISTINCT c.cities) as num_dup
FROM cities c
GROUP BY longitude,latitude
HAVING num_dup > 1https://stackoverflow.com/questions/8286567
复制相似问题