Je suis nouveau sur PostgreSQL et quelque peu nouveau sur les bases de données en général. Existe-t-il un moyen établi d'indexer les valeurs UUID dans Postgres? Je suis partagé entre l'utilisation du hachage et l'utilisation d'un trie, à moins qu'il y ait déjà quelque chose de intégré qu'il utilise automatiquement. Tout ce que j'utilise va gérer d'énormes quantités de données.
La famille d'opérateurs SP-GiST "text_ops" indexe à l'aide d'un trie. Parce que les UUID sont assez longs et très différents, ces sons sont attrayants même si je ne faisais que des recherches de correspondance complètes.
Il existe également une option de hachage. Le hachage est O (1), et je n'aurai pas besoin de faire de comparaisons en dehors de l'égalité bien sûr, mais parce que les UUID sont assez longs, je crains que générer des hachages à partir d'eux ne perde beaucoup de temps.
Ou est-ce quelque chose qui dépend trop du système et utilise des spécificités?
Je préfère utiliser bigserial dans la plupart des cas, mais on m'a dit d'utiliser uuid pour cela. Nous avons besoin d' uuid car nous pouvons avoir plusieurs serveurs utilisant différentes bases de données, donc il n'y a aucune garantie que nous aurons des bigints uniques. Nous pourrions utiliser une séquence (et une graine) différente pour chaque serveur, mais ce n'est toujours pas aussi flexible que les UUID. Par exemple, nous ne pourrions pas migrer les entrées de base de données d'un serveur à un autre sans convertir les ID et leurs références partout.