【发布时间】:2019-01-24 21:47:24
【问题描述】:
我有一个表(table1),它以 id 作为主键并且本质上是增量的。该表具有 Updatedtm,它具有最后更新的日期和时间。该表有大约 3 亿条记录。我有另一个与 table1 同步的表 table2。从 table1 中删除 id 时,从 table2 中删除的最佳方法是什么? Left join 是不是一种有效的方法,我每次都要比较 3 亿条记录来检查删除吗?
Delete from table2
where id not in(Select id from table1)
【问题讨论】:
-
外部联接或不存在几乎总是比(不)IN 更好。那就是说我建议你测试一下,然后你就会知道。
-
table2和table1同步是什么意思?如果 table2 中的记录在 table1 中没有对应的条目,则听起来这些表不同步。为什么这些表之间没有外键关系?