我有两张桌子
表A 区 纬度 经度
表B 区 纬度 长
我试图将tableb中的纬度和经度移动到tablea中的新列中。但是当我在一个列上运行以下查询时,它会在5或6分钟后超时。
UPDATE tablea SET latitude=(SELECT Lat FROM tableb WHERE tableb.zone=tablea.zone)
如何合并这些表?
答案 0 :(得分:1)
UPDATE tablea JOIN table b
ON tablea.zone=tableb.zone
SET tablea.latitude=tableb.lat
同时为两个表上的区域列编制索引。
答案 1 :(得分:0)
为什么你不这样做:
UPDATE tablea , tableb
SET tablea.latitude = tableb.Lat
WHERE tablea.zone= tableb.zone;
答案 2 :(得分:0)
在tableb
上,创建一个涵盖zone
和Lat
的索引:
ALTER TABLE `tableb` ADD INDEX ( `zone`, `Lat` ) ;
这应该可以大大加快查询的效果。