搜索重复的大型地理空间数据库

时间:2011-11-27 15:19:02

标签: mysql duplicates large-data-volumes

我在MySQL(Windows)中使用maxmind geocities表(see here)。

这个表有超过2.7百万行(非常大)。

我试图找到城市重复(为了找到每个城市的不同拼写,如pekin(fr),北京...)遵循其经度和纬度。

即使我使用左外连接,子请求或复合where子句,但响应时间太长(它永远不会结束)。

这是我的最后一次尝试:

select * 
from cities c1, cities c2 
where c2.longitude=c1.longitude 
and c2.latitude=c1.latitude 
and c2.cities!=c1.cities

有没有人有想法。

1 个答案:

答案 0 :(得分:1)

您可以不选择*(我认为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 > 1