我需要一些帮助才能在 MySQL 中快速更新我的表
Table 1
id | value
1 0
2 0
3 0 ...
Table 2
t1_id | t2_id
1 2
1 3
3 5 ...
表1 中约有 150,000 行,表 2 中约有 130 万行。当表 1 中存在 t1.value = 1 时 t1.id,我需要设置 t2.value = 1。
update table1 t1, table2 t2
set value = 1
where t1.id = t2.id;
如果没有一些不同的参数,它将为每个 id 执行多次操作,从而使更新所有 t1 行的速度很慢。
任何帮助都会被欣然接受。
呢:
UPDATE t1
SET t1.value = 1
FROM table_t1 t1
WHERE EXISTS (SELECT 1
FROM table_t2 t2
WHERE t2.id = t1.id
)
呢:
update table1
set value=1
from table2
where table1.id=table2.t1_id