Tengo un esquema heredado (¡descargo de responsabilidad!) Que utiliza una identificación generada basada en hash para la clave primaria para todas las tablas (hay muchas). Un ejemplo de tal identificación es:
922475bb-ad93-43ee-9487-d2671b886479
No hay esperanza posible de cambiar este enfoque, sin embargo, el rendimiento con acceso al índice es pobre. Dejando a un lado la gran cantidad de razones que esto podría ser, hay una cosa que me di cuenta de que parecía inferior a la óptima - a pesar de todos los valores de ID en todas las muchas mesas que son exactamente 36 caracteres de longitud, el tipo de columna es varchar(36)
, no char(36)
.
¿Alterar los tipos de columna a una longitud fija char(36)
ofrecería beneficios significativos en el rendimiento del índice, más allá del muy pequeño aumento en el número de entradas por página de índice, etc.?
Es decir, ¿los postgres funcionan mucho más rápido cuando se trata de tipos de longitud fija que con tipos de longitud variable?
No mencione el ahorro minúsculo de almacenamiento: eso no será importante en comparación con la cirugía requerida para realizar el cambio en las columnas.