我想知道使用非顺序UUID作为表中的主键会对性能产生什么影响,在PosgreSQL中,这个表将变得非常大.
在对表记录使用集群存储的DBMS中,一旦表太大而无法保存在内存中,使用UUID将增加插入的成本,因为必须从磁盘读取数据页才能执行插入.据我所知,Postgres不会在insert上维护行集群,因此我认为在Postgres中使用UUID PK不会影响该insert的性能.
但是我认为,一旦表很大,它会使PRIMARY KEY约束创建的对索引的INSERT代价更高,因为在插入新数据时必须不断地从磁盘读取以更新索引.而使用顺序键时,索引将仅在提示处更新,该提示将始终在内存中.
假设我正确理解了对索引的性能影响,有什么方法可以解决这个问题吗?或者UUID根本不是一个大型的、未分区的表上的好PK吗?