Currently we check for the existence of NULL values in the tuple and we
set the has_null flag. If the has_null flag is present, the tuple will be
storing a null bitmap. What i propose is
a) By modifying the functions, heap_form_tuple and heap_fill_tuple, we can
check whether all the nulls are trailing nulls. If all the nulls are
trailing nulls, then we will not set the has_null flag and we will not have
the null bitmap with the tuple.
b) While selecting the tuple, we will check whether the tuple offset equals
/ exceeds the length of the tuple and then mark the remaining attributes of
the tuple as null. To be exact, we need to modify the slot_deform_tuple in
order to achieve the same.
This may not give huge performance benefits, but as you may know, it will
help is reducing the disk footprint.
Expecting your comments..
Allied Solution Group.
pgsql-hackers by date
|Next:||From: Gokulakannan Somasundaram||Date: 2007-12-17 07:47:21|
|Subject: Requesting clarification on Vacuuming/Freezing behaviour|
|Previous:||From: NikhilS||Date: 2007-12-17 07:35:35|
|Subject: Re: VLDB Features|
pgsql-patches by date
|Next:||From: Gokulakannan Somasundaram||Date: 2007-12-17 08:02:54|
|Subject: Re: Proposal for Null Bitmap Optimization(for Trailing NULLs)|
|Previous:||From: Peter Eisentraut||Date: 2007-12-16 13:16:09|
|Subject: Re: Auto create (top level) directory for create tablespace|