=?ISO-8859-1?Q?Andr=E9_Volpato?= <andre(dot)volpato(at)ecomtecnologia(dot)com(dot)br> writes:
> I need to store one-length values like '1', '2', '3' or '4' .
> Today, this field is indexed with btree and is of type smallint (int2).
> How much performance will be improved if I change it to "char" (1 byte
> length) ?
The improvement will be zero. Because of alignment restrictions, you
don't save any space from making an index entry smaller than 4 bytes.
If you have several such fields adjacent in a table row, making them all
narrower can save space, but it doesn't help for standalone index
entries.
regards, tom lane