首页 > 解决方案 > PostgreSQL:通过未索引的列或其他表删除更快的是什么?

问题描述

在我们的 PostgreSQL 数据库中,我们有一个包含大约 1TB 数据的表。该表由id、name、valuetimestamp组成。数据没有排序,我们没有时间戳的索引。但是,我们要删除所有内容WHERE timestamp < '2018-09-01 00:00'

我们还有第二个表,其中包含我们要删除的数据的精确副本。复制过程花了我们大约 300 分钟。

所以我想知道哪个会更快。使用 WHERE 子句删除还是使用另一个表的 ID?如果第二个会更快如何编写查询?

标签: postgresqlperformancesql-delete

解决方案


推荐阅读