用PostgreSQL跟踪Django的变化

时间:2017-07-09 08:46:44

标签: django database postgresql

我有一个用PostgreSQL作为数据库的Django项目。

  • 很少有表格描述状态(让他们称呼他们"状态表")
  • 有几个服务器可以修改状态(每个服务器修改自己的表)
  • 很少有服务器可以读取状态(让我们称之为"读者")并根据表的当前状态修改内部资料。

我想做的是让读者知道状态表中的哪一行被更改,这样就不必一直扫描所有表。

目前,我在所有状态表上都有一个特殊的跟踪表和一个post_save()触发器。 post_save触发器保存表名和ID。 最初的计划是在跟踪表上定义序列ID,并检查"最后一次已知的跟踪ID"是最大的。如果不是 - 我将扫描所有跟踪的条目并知道哪些状态已更改。

然而,看来PostgreSQL的索引似乎不是顺序的。我不介意它们之间的差距,但我依靠跟踪记录N + 1来使ID大于记录N.

有什么建议吗?

0 个答案:

没有答案