Thread: Re: Sequential vs. random values - number of pages in B-tree

Re: Sequential vs. random values - number of pages in B-tree

From
pinker
Date:

W dniu 2016-08-18 14:00:31 użytkownik Ilya Kazakevich <Ilya.Kazakevich@JetBrains.com> napisał:
> Hi,
>
> >What's the reason that postgres needs more index pages to store random
> >data
> >than sequential ones?
>
> I assume that is because B-Tree is self-balanced tree, so it needs to be
> rebalanced after each insertion.
> Random insertions may go to the head of index where no space left leading to
> huge data moving.
> https://en.wikipedia.org/wiki/B-tree#Insertions_and_deletions
>
>
>
> Ilya Kazakevich
>
> JetBrains
> http://www.jetbrains.com
> The Drive to Develop
>
>

Thank you. So if that is the reason changing the fillfactor parameter should help?



Re: Sequential vs. random values - number of pages in B-tree

From
"Ilya Kazakevich"
Date:
>Thank you. So if that is the reason changing the fillfactor parameter should
>help?

Fillfactor is not about rebalancing, but about page split. If you have many insertions you may decrease fillfactor to
minimize page splits, but I am not sure it will help in your case.  But you should try) 
Better approach is to create index _after_ insertion, but it is not always possible.


Ilya Kazakevich

JetBrains
http://www.jetbrains.com
The Drive to Develop