Search Postgresql Archives

Re: FILLFACTOR and increasing index

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> Yes, I use the same approach, but  I'm not aware of any such guideline
>> related to fillfactor with indexes.  Anyway those guidelines need to be
>> written by someone, so you have a great  opportunity ;-)
>
>
> I did a quick test using your example. As in your test, "increasing"
> values don't get any gain from a different  fillfactor.
> I tried a random index:
>
> create table test_fill (id int);
> create index test_fill_idx on test_fill(id) with (fillfactor=100);
> insert into test_fill select (random()*100000)::integer from
> generate_series(1,10000000) i;
>
>
> time: 373936.724
>
> drop table test_fill;
> create table test_fill (id int);
> create index test_fill_idx on test_fill(id) with (fillfactor=50);
>
> insert into test_fill select (random()*100000)::integer from
> generate_series(1,10000000) i;
> time: 393209.911
>
>
> not much difference...
>
> Now I'm getting confused... is which cases fillfactor makes a
> difference???

What about the index size? How much space do they occupy? Analyze the
table and do this

  SELECT relpages FROM pg_class WHERE relname = 'indexname';

and I believe you'll see the difference - the former index
(fillfactor=100) should grow much larger that the latter one.

The minimal performance difference is probably caused by the fact that
we're dealing with int4 column (and you've used just 100000 rows, i.e.
about 0.5MB of data) so the index is going to be tiny anyway.

Let's try to do that with varchar(32) column, just do something like this

db=# create table test_fill (id varchar(32));
db=# create index test_fill_idx on test_fill(id) with (fillfactor=100);
db=# insert into test_fill select md5(round(random()*100000)::text) from
generate_series(1,10000000) i;

I believe this might make a difference ...

regards
Tomas


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux