46 liens privés
Pour résumer, dans Doctrine, plutôt que de donner le type "string" à un uuid, donner le type UuidInterface... ça évitera de gros problèmes de performance
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Un problème bien vicieux : le type de l'UUID doit être marqué comme Uuid | string et pas string tout court... sinon Doctrine déclenche l'événement preUpdate même si rien ne change
Un article très intéressant sur le choix d'une clef primaire : depuis le simple auto incrément jusqu'aux différentes versions des UUID, l'auteur explique les avantages et inconvénients de chaque possibilité avec application pratique sur PostgreSQL
L'auteur présente une alternative aux UUID qui permet de conserver l'ordre : les ULIDs - Universally Unique Lexicographically Sortable Identifier
Tout est dans le titre, sauf que les ULID permettent de résoudre un pb spécifique aux UUID : la capacité de les trier par ordre croissant / décroissant. L'idée est simple : utiliser un timestamp sur les 48 premiers bits, puis le reste des 80 bits aléatoirement. La probabilité de collision restera très très faible tout en donnant la possibilité de classer les ULID.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
L'auteur réalise une comparaison des performances de différentes solutions pour la génération d'UUID en PHP.
Tout est dans le titre
Tout est dans le titre