Tom Lane escreveu:
=?ISO-8859-1?Q?Andr=E9_Volpato?= <andre.volpato@ecomtecnologia.com.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
  

Tom,

The ammount of space saved seems pretty clear to me.

What are you saying is that the index behaviour is the same, for all types smaller than 4 bytes ?  For query performance, in a search is based on that standalone indexed field, would be any difference using :
a. char(1) ;  b. int2;  c. "char"

Thanks again !

-- 
[]´s,

André Volpato
ECOM Tecnologia Ltda
andre.volpato@ecomtecnologia.com.br
(41) 3014 2322