我应该在应用程序中还是在数据库中生成 UUID?
Should I generate UUID's in application or in the database?
PostgreSQL 将在生产环境中使用,它原生支持 UUID。
但是我应该如何处理它们的生成?
目前我使用的是:
uuid = Column(UUID, primary_key=True, default=lambda: uuid4().hex)
由此,它们由应用程序生成。
如果数据库生成它们是否会提高性能,我该如何实现?
uuid最大的好处就是可以在客户端生成。
这意味着,例如,您可以创建包含所有发票行的发票,而无需先访问数据库来获取发票 ID。
因此,您不应在数据库中生成它,除非您正在这样做,使用将在多个 table.
中插入数据的存储过程
PostgreSQL 将在生产环境中使用,它原生支持 UUID。
但是我应该如何处理它们的生成?
目前我使用的是:
uuid = Column(UUID, primary_key=True, default=lambda: uuid4().hex)
由此,它们由应用程序生成。
如果数据库生成它们是否会提高性能,我该如何实现?
uuid最大的好处就是可以在客户端生成。
这意味着,例如,您可以创建包含所有发票行的发票,而无需先访问数据库来获取发票 ID。
因此,您不应在数据库中生成它,除非您正在这样做,使用将在多个 table.
中插入数据的存储过程