我試圖將一個遺留數據庫(沒有主鍵)移植到MySQL中一個更好,更結構化的數據庫中。3個表之間的MySQL低效跨表更新
我運行此查詢:
UPDATE table a, table b, table c
SET a.item_id = b.id
WHERE b.description = c.description AND a.id = c.id;
a.item_id
和b.id
都是int(11)
領域,並b.description
和c.description
都是varchar
領域。 b.description
。和c.description
沒有任何鍵或索引。 a.id
和c.id
都是主鍵。
表a
和表c
都是具有50,000行的表,並且表b
包含2000行左右的行。因此,三連接語句需要很長時間才能運行。我很確定我沒有高效地完成這項工作,那麼構建查詢的更有效的方法是什麼?
HOOO那很多表的,爲什麼不嘗試使用顯式連接 –
顯式連接加索引的描述字段。 – Tom
你想用這個查詢來完成什麼?請解釋你的邏輯。 –