Re: IndexTuple Structure

Поиск
Список
Период
Сортировка
От Gokulakannan Somasundaram
Тема Re: IndexTuple Structure
Дата
Msg-id 9362e74e0710090338x578d770bla84736e1b376101c@mail.gmail.com
обсуждение исходный текст
Ответ на IndexTuple Structure  ("Gokulakannan Somasundaram" <gokul007@gmail.com>)
Список pgsql-hackers


On 10/9/07, Gokulakannan Somasundaram <gokul007@gmail.com> wrote:
Hi,
     When i saw the IndexTuple structure, i saw that 13 bits are allocated to store the size of the Values List of the IndexTuple Structure. Also the IID(ItemId Identifier) in the Page header stores the complete size of the IndexTuple. Can't we derive the size of the IndexTuple from the IID->len?
      I think we will be able to save 1 byte per IndexTuple, if we can implement this from t_info.

But will this really be a benefit, if we reduce this, considering the effect of MAX_ALIGN?
I did a small analysis, Currently IndexTuple has a ItemId (6 Bytes) + t_info(2 Bytes) . So usually it is 8 Bytes. In this case it doesn't matter whether the t_info occupies 1 byte/2 bytes.
But when Null Bitmap is included and if it is less than one byte(which it is in most of the cases), then IndexInfoFindDataOffset will return 12 bytes now (9 bytes + 3 bytes for maxalign).
If we make this improvement, it will continue to be 8 bytes(saving of 4 bytes per IndexTuple)

No the calculation went wrong over here. It occupies 12 bytes, if the null bitmap exists, since the null bitmap is always 4 bytes.

Please put forth your comments..


Thanks,
Gokul.

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Uninformative messages from pg_ctl
Следующее
От: Csaba Nagy
Дата:
Сообщение: Re: Including Snapshot Info with Indexes