On 17 October 2011 02:01, Scott Marlowe <[email protected]> wrote:

> On Sun, Oct 16, 2011 at 2:41 PM, Szymon Guz <[email protected]> wrote:
> > Hi,
> > just a couple of questions:
> > will there be an index bloat if I have:
> > - a serial column and only add rows to the table?
> > - a text column and I only add rows to the table?
> > For the serial column the numbers are only incremented, for the text
> column
> > I add random strings.
>
> With no deletes or updates, the only bloat will be from a non 100% fill
> factor.
>

Hi Scott,

if there is no bloat, how could you explain this:

Simple test:

CREATE TABLE test (
id text primary key,
category_id text not null
);

CREATE INDEX i_category ON test (category_id);


I make 500k inserts in one transaction using a python script.
For the random text I use random uuid from the function:

uuid.uuid4()

After those inserts I create another index:

CREATE INDEX i_new ON test (category_id);


select
pg_size_pretty(pg_relation_size('i_category')),
pg_size_pretty(pg_relation_size('i_new'))
;

Results:

'37 MB';'28 MB'

regards
Szymon

Reply via email to