2014-04-02 33 views
-1

我有一個叫兩個表公司地址和數據庫latlon數據庫更新,並加入

每個表都有一條道路,街區,建築物號碼及latlon表具有緯度經度領域。

如果道路,街區和建築物No與Latlon數據庫中的相同,我想更新'公司'以包含經緯度。

以下是我有:

UPDATE latlon t 
JOIN address a USING (Building, RoadNo, Block) 
SET t.lat2 = a.lat, t.lon2 = a.lon 
WHERE t.lat2 = '' AND t.lon2 = '' 

不出於某種原因。它只是凍結窗戶。 (150k行),當我檢查是否有任何更新發生。沒有更新。有人知道爲什麼

latlon表:

Building RoadNo Block id lat2 lon2 
123  456 789 1 45.4 58.6 

公司表:

CrNo Building RoadNo Block id lat lon 
12 123  456 789 1 empty empty 
+0

*由於某種原因不起作用*沒有意義請解釋什麼是問題你得到的任何錯誤或數據沒有正確更新? –

+0

嘗試做相應的'SELECT'並檢查錯誤/正確的輸出(即它會返回所需的行) –

+0

對不起哈立德。我更新了我的問題.. –

回答

1

我猜想,加入走的是一條很長的時間。嘗試創建以下索引:

create index address_building_roadno_block on address(Building, RoadNo, Block) 
+0

謝謝。這解決了我的問題。 –