Re: Faster data type for one-length values

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

In response to

Responses

Browse pgsql-general by date

  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.