J'ai un schéma hérité (avertissement!) Qui utilise un identifiant généré par hachage pour la clé primaire de toutes les tables (il y en a beaucoup). Un exemple d'un tel identifiant est:
922475bb-ad93-43ee-9487-d2671b886479
Il n'y a aucun espoir possible de changer cette approche, mais les performances avec l'accès à l'index sont médiocres. Abstraction faite de la myriade de raisons , cela pourrait être, il y a une chose que j'ai remarqué qui semblait moins optimale - malgré toutes les valeurs id dans toutes les nombreuses tables étant exactement 36 caractères, le type de colonne est varchar(36)
, non char(36)
.
La modification des types de colonnes à longueur fixe char(36)
offrirait-elle des avantages significatifs en termes de performances d'index, au-delà de la très faible augmentation du nombre d'entrées par page d'index, etc.?
C'est-à-dire que les postgres fonctionnent beaucoup plus rapidement lorsqu'il s'agit de types de longueur fixe que de types de longueur variable?
Veuillez ne pas mentionner l'économie de stockage minuscule - cela n'aura pas d'importance par rapport à la chirurgie nécessaire pour effectuer la modification des colonnes.