Lætitia AVROT:PGSQL Phriday #015:主键选择:UUID、CUID 还是 TSID?
原文英文,约800词,阅读约需3分钟。
📝
内容提要
这篇文章讨论了在使用Postgres时,是否应该使用UUID、CUID或TSID作为主键。作者认为,在Postgres中使用UUID、CUID或TSID没有有效的理由。此外,作者还提到,在大多数情况下,不需要对Postgres进行水平扩展,因为它本身性能良好。作者建议在优化关系型数据库时,首要原则是“仔细设计数据模型”。
🎯
关键要点
-
本月的PGSQLPhriday活动讨论UUID,作者认为在Postgres中使用UUID、CUID或TSID没有有效理由。
-
UUID是128位的唯一标识符,CUID旨在提供更强的唯一性保证,TSID是时间排序的唯一标识符。
-
作者认为数据库应该负责生成主键,而不是让应用程序创建主键。
-
在优化关系型数据库时,建议使用“自动生成的身份列”,并在自然主键上添加唯一约束。
-
使用UUID、CUID或TSID的理由包括希望在应用程序中生成ID,但在Postgres中这是无效的。
-
作者认为没有有效理由在Postgres中使用UUID、CUID或TSID,并指出Postgres在大多数情况下不需要水平扩展。
-
优化的首要原则是“仔细设计数据模型”。
🏷️