清除许多表中内容的最快方法

时间:2010-11-05 01:20:07

标签: sql database postgresql

现在我们正在使用TRUNCATE清除postgres中的798个表的内容(隔离的测试运行)。我们尽可能使用交易。但是,在无法实现的地方,我们希望以最快的方式重置数据库的状态。

我们正努力只在已修改的表上实际调用truncate(对于任何给定的测试,只会修改798个表中的一些)。

从多个PostgreSQL表中删除所有数据的最快方法是什么?

1 个答案:

答案 0 :(得分:4)

我想到了两件事:

  1. 将clean DB设置为模板,并在每次测试之前从中创建一个副本。
  2. 将clean DB设置为默认架构,但在不同架构(SET search_path TO %s)中运行TransactionTests。