Eu tenho um esquema legado (isenção de responsabilidade!) Que usa um ID gerado com base em hash para a chave primária de todas as tabelas (existem muitas). Um exemplo dessa identificação é:
922475bb-ad93-43ee-9487-d2671b886479
Não há esperança possível de mudar essa abordagem, no entanto, o desempenho com acesso ao índice é ruim. Deixando de lado a miríade de razões isso pode ser, há uma coisa que eu notei que parecia abaixo do ideal - apesar de todos os valores de ID em todas as muitas mesas sendo exatamente 36 caracteres de comprimento, o tipo de coluna é varchar(36), não char(36) .
Alterar os tipos de coluna para comprimento fixo char(36)ofereceria benefícios significativos no desempenho do índice, além do pequeno aumento no número de entradas por página de índice, etc.?
Ou seja, o postgres tem um desempenho muito mais rápido ao lidar com tipos de comprimento fixo do que com tipos de comprimento variável?
Não mencione a minúscula economia de armazenamento - isso não será importante em comparação com a cirurgia necessária para fazer a alteração nas colunas.