改进删除自

问题描述

我需要使用另一个表从一个表中删除记录,如下所示:

DELETE FROM table1 ri
USING table2 ta
WHERE ri.uid = ta.uid;

表 1 有 1.6 亿行,表 2 有 1400 万行。

这需要很长时间,我在 table2 中添加一个唯一索引并且成本没有提高,有没有办法更快地完成这项工作?

谢谢

解决方法

使用 Explain Analyze 删除一小块数据,我们最终意识到有一个约束占用了所有成本,我们删除了约束以加快删除操作,然后重新添加。