我有2个表,人和邮政编码。
我在人中大约有2300条记录,其中包括他们的邮政编码以及两个纬度和经度坐标的空列。
postcodelatlng 是一个包含约160万行的表,其中包含英国的每个邮政编码以及各自的坐标。
我正在尝试通过匹配邮政编码来填写人员表中的坐标。当不为每个人使用大约0.15秒的限制时,此方法效果很好。不幸的是,一旦我设置了限制,每次运行查询时,执行时间几乎都会加倍。
SELECT people.ID, people.Postcode, postcodelatlng.latitude, postcodelatlng.longitude
FROM people
INNER JOIN postcodelatlng
ON people.Postcode=postcodelatlng.postcode
LIMIT 30
答案 0 :(得分:1)
我建议添加两个索引,因为每行0.15秒似乎是一个很高的数字。每个邮政编码字段一个:
CREATE INDEX ppl_postcode ON people(Postcode) using HASH;
CREATE INDEX postcode_ll ON postcodelatlng(postcode) using HASH;
它现在应该运行得快得多。