如何以最快的方式更新表B中的所有记录table_id取决于使用old_id的两个表的链接。我在这两个表上都有多条记录,每次更新表2都需要时间来更新表B中的所有table_id。有关如何加快记录更新的任何建议。
以下是我的查询需要花时间进行更新:所有3个查询我已经测试但它提供了非常慢的更新。有任何建议请:
Query 1:
UPDATE Table_B dest
SET table_id = (SELECT id FROM Table_A WHERE old_id = dest.old_id )
WHERE table_id = 0;
Query 2:
UPDATE Table_B dest
INNER JOIN Table_A src ON dest.old_id = src .old_id
SET dest.table_id = src .id
WHERE dest.table_id = 0;
Query 3:
UPDATE Table_B dest, Table_A src
SET dest.table_id = src.id
WHERE dest.old_id = src.old_id AND dest.table_id = 0;
Table_A
id | old_id | fullname
1 2131 Name 1
2 2132 Name 2
3 2133 Name 3
4 2134 Name 4
..................... and so on (8000 records)
Table_B
id | table_id | old_id | work
1 0 2131 Work 1
2 0 2131 Work 2
3 0 2131 Work 3
4 0 2132 Work 1
5 0 2132 Work 2
6 0 2132 Work 3
7 0 2133 Work 1
8 0 2134 Work 1
..................... and so on (55000 records)