Re: null and default value compression

From: Mark D Powell <Mark.Powell2_at_hp.com>
Date: Tue, 29 Sep 2009 06:29:05 -0700 (PDT)
Message-ID: <6a247d0b-95ec-4610-80a7-b41e9a1c769e_at_b2g2000yqi.googlegroups.com>



On Sep 28, 11:12 pm, RNBJ <rnbjr..._at_gmail.com> wrote:
> how does oracle do it, if it does that without buying advanced
> compression?
> Thanks
> Suri

I am not 100% sure what you are asking but all versions of Oracle since at least 6.0.36 have not stored any indicators or values for trailing null columns in a row where there are no values stored in the row trailing the null columns. So if you have a row with 10 columns and the last five columns are nullable and no values have been inserted for the row Oracle can skip even writing the null indicators to the row.

Oracle has also recommended using what is now the varchar2 data type to store character data. Varchar2 is a variable length data type that stores only the data inserted without the need for trailing spaces. The number data type is a form of scientific notation and is also uses variable length storage dependent on the value stored.

So Oracle has always employed a scheme to compress the row data into only the space necessary without actually compressing the data itself.

I hope this was what you were asking. The Concepts manual has a lot of information in it about data types, blocks, extents, and segments and provides a fair amount of information on how Oracle basically works.

HTH -- Mark D Powell -- Received on Tue Sep 29 2009 - 08:29:05 CDT

Original text of this message