我应该在应用程序或数据库中生成UUID吗?

时间:2017-08-07 20:17:51

标签: python postgresql performance sqlalchemy uuid

PostgreSQL将在生产中使用,并且它对UUID的原生支持。

但是我应该怎样处理它们的产生?

目前我使用以下内容:

uuid = Column(UUID, primary_key=True, default=lambda: uuid4().hex)

这样它们就是由应用程序生成的。

如果数据库生成它们会改善性能吗?我该如何实现呢?

1 个答案:

答案 0 :(得分:4)

uuids的巨大优势在于它们可以在客户端生成。

这意味着,例如,您可以使用所有发票行创建发票,而无需先点击数据库以获取发票ID。

因此,您不应该在数据库中生成它,除非您这样做,使用将在多个表中插入数据的存储过程。