我有一个旧式架构(免责声明!),它对所有表(有很多)的主键使用基于哈希的生成ID。这样的ID的示例是:
922475bb-ad93-43ee-9487-d2671b886479
改变这种方法没有希望,但是索引访问的性能很差。撇开原因,这可能是无数的,有一件事我注意到,似乎不太理想-尽管是长度正好36个字符的所有许多表中的所有ID值,列类型是varchar(36)
,不是 char(36)
。
除了将每个索引页的条目数量增加很少之外,将列类型更改为固定长度是否会char(36)
带来任何显着的索引性能优势?
即在处理固定长度类型时,postgres的执行速度是否比可变长度类型快?
请不要提及微不足道的存储节省-与更改色谱柱所需的手术相比,这已不再重要。