PostgresSql 9.6删除突然变得缓慢

时间:2020-07-15 23:21:05

标签: postgresql

我有一个数据库表,其中记录了调试日志条目。没有外键-它是一个独立的表。

我编写了一个实用程序,用于删除最旧的条目。

有6500万个条目,因此我一次删除了100,000个,以向用户提供一些进度反馈。

有一个名为id的主键列

一切都很好,直到剩下约5万亿条记录为止。然后开始需要1分钟以上的时间来执行。

更重要的是,如果我使用PgAdmin并在我自己中键入查询,但是使用我知道的ID小于最小ID,则仍然需要一分钟以上的时间来执行!

即:从public.inettklog中删除,其中id <= 56301001 我知道min(id)是56301002

这是解释分析的结果

enter image description here

1 个答案:

答案 0 :(得分:1)

您的统计信息已过时。它认为它将找到3000万行,但发现为零。分析表格。