From: | André Volpato <andre(dot)volpato(at)ecomtecnologia(dot)com(dot)br> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Subject: | Re: Faster data type for one-length values |
Date: | 2007-05-23 15:06:59 |
Message-ID: | 46545893.2030601@ecomtecnologia.com.br |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
André Volpato escreveu:
> Tom Lane escreveu:
>> =?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
>>
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 !
Andre Volpato
From | Date | Subject | |
---|---|---|---|
Next Message | Rick Schumeyer | 2007-05-23 15:08:32 | Tsearch2: upgrading from postgres 8.1.x to 8.2.x |
Previous Message | Purusothaman A | 2007-05-23 14:56:21 | Re: [GENERAL] OIDs - file objects, are damaged by PostgreSQL. |