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在大多数情况下不需要水平扩展。
  • 优化的首要原则是“仔细设计数据模型”。
➡️

继续阅读