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.