PostgreSQL删除查询需要数小时才能执行

8mmmxcuj  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(155)

我在postgresql-12中的两个表table 1和table 2:
第一个月
表1具有大约7000000个条目。表2具有大约9500000个条目。预计将有10万场比赛。执行此命令需要5个小时。如何优化此查询?

bjp0bcyl

bjp0bcyl1#

要回答你的问题,你需要提供更多关于表或查询计划的信息,就像@Richard Huxton刚才说的,你可以通过在任何你想获取查询计划的命令之前包含EXPLAIN来获取查询计划,在你的例子中,它将是:

EXPLAIN DELETE FROM table2 WHERE (ddate, itemno) NOT IN (SELECT ddate,itemno FROM table1);

字符串
这样做并将其包含在问题中,但是如果你没有在表上使用索引,你应该尝试这样做,这可能会导致查询速度的显着提高。检查文档here

相关问题