postgresql是否必须使用自增主键

问题描述 投票:0回答:1

对于mysql来说,大多数时候都需要自增整数主键,因为插入操作会按顺序写入磁盘,这会非常有效

但是对于postgresql来说,更新tuple实际上是通过插入新的并为旧的标记删除来完成的,存储tuple的块经常会发生变化,所以对于pg来说,自增primary的优势可能不存在?也许我们应该使用一些具有实际意义的随机密钥,例如股票号,身份证号等

postgresql auto-increment
1个回答
0
投票

在 SQL(不仅是 Postgres,而且实际上是所有数据库)中,每条记录上的数据“独立”于表中记录的存储方式。换句话说,记录在磁盘上“物理”存储的方式对您来说是隐藏的。 如果您插入一条记录,并且自动增量列(或类型为 SERIAL 的列)的值设置为例如10,那么如果记录被物理移动,该值将不会改变。

Postgres 在使用自动增量列方面将表现出与任何其他 DBMS 相同的优势。

    

© www.soinside.com 2019 - 2024. All rights reserved.