0

如何以最快的方式更新表 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)
4

0 回答 0