On 7/19/05, Jim C. Nasby <decibel@decibel.org> wrote:
> > CREATE TABLE sample1 (
> > a boolean,
> > b int,
> > c boolean
> > );
> >
> > ...it will take more storage than:
> >
> > CREATE TABLE sample2 (
> > b int,
> > a boolean,
> > c boolean
> > );
> >
> Actually, I believe that's the case with just about every database,
I tried making alternating int and boolean fields (8 columns total), and
the loss due to padding was around 30%.
Out of curiosity I repeated the test using MySQL 4.1 MyISAM (alternating
int and tinyint fields versus ints fist, then tinyints) -- the resulting files
had the same size. So, for this case, MySQL MyISAM either reorders
data or stores data without padding.
Regards,
Dawid
> though of course each one has different alignment constraints. The point
> is that I don't know of any database that will silently re-order fields
> under the covers to optimize storage.