【发布时间】:2011-01-18 22:08:17
【问题描述】:
我有一个数据库,其中所有内容都与外键链接,因此 Postgres 确切地知道数据库的布局..
好吧,假设我有 Table1 和 Table2。
Table1 有 3 个字段。 RID、table2_rid、数据
所以 table1.table2_rid 引用 table2.RID 并用外键表示。在这两个RID字段中都是主键并且是序列类型。
我想知道的是如何“压缩”主键?比如说你添加了 5 条记录并删除了第 3 条记录。你的主键看起来像
1
2
4
5
那么,我如何才能在所有地方进行更新,以便可以将主键(和相应的外键)压缩成
1
2
3
4
【问题讨论】:
-
保持一切浓缩重要吗?如果您的数据库中有 1000 条记录并且您删除了记录 1,那么您至少有 2 个额外的更新要运行。
-
我更多地谈论的是您在每天有很多插入/删除的表上执行的操作,并且将其作为每月维护任务之类的操作。
标签: postgresql foreign-keys primary-key auto-increment maintenance