我应该在应用程序或数据库中生成UUID吗?
问题描述:
PostgreSQL将在生产中使用,并且它具有对UUID的本机支持。我应该在应用程序或数据库中生成UUID吗?
但是我应该如何处理它们的生成?
目前我使用如下:
uuid = Column(UUID, primary_key=True, default=lambda: uuid4().hex)
有了这个,他们是由应用程序产生的。
如果数据库生成它们,性能会提高吗?我该如何实现它?
答
uuids的巨大优势在于它们可以在客户端生成。
这意味着,例如,您可以使用所有发票行创建发票,而不必先击数据库以获取发票ID。因此,你不应该在数据库中生成它,除非你这样做,使用存储过程将插入多个表中的数据。