2017-08-07 4 views
0

PostgreSQL sera utilisé en production et il supporte nativement les UUID.Dois-je générer des UUID dans l'application ou dans la base de données?

Mais comment dois-je gérer la génération d'entre eux?

Actuellement, j'utiliser ce qui suit:

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

Avec cela, ils sont générés par l'application.

Serait-ce une amélioration des performances si la base de données les génère et comment pourrais-je l'implémenter?

Répondre

4

Le grand avantage des uuids est qu'ils peuvent être générés sur le client. Cela signifie que, par exemple, vous pouvez créer une facture avec toutes les lignes de facture, sans avoir à cliquer sur la base de données pour obtenir un identifiant de facture en premier. En tant que tel, vous ne devez pas le générer dans la base de données, à moins que vous ne le fassiez, en utilisant une procédure stockée qui insérera des données dans plus d'une table.