Index loading methods

Started by pinkerabout 9 years ago2 messagesgeneral
Jump to latest
#1pinker
pinker@onet.eu

If PostgreSQL decides to use an index, does he every time load the whole
B-tree into memory? or maybe loads only specific subtree or some chunks of
index?

--
View this message in context: http://www.postgresql-archive.org/Index-loading-methods-tp5952220.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

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

#2Michael Paquier
michael@paquier.xyz
In reply to: pinker (#1)
Re: Index loading methods

On Mon, Mar 27, 2017 at 8:36 PM, pinker <pinker@onet.eu> wrote:

If PostgreSQL decides to use an index, does he every time load the whole
B-tree into memory? or maybe loads only specific subtree or some chunks of
index?

src/backend/access/nbtree/README provides details about the algorithm
of Lehman and Yao used in btree indexes. In short, backends share
buffer pages, and those will stay around if they are hot enough. If
there is a high page eviction for those btree pages, you may finish by
needing to reload the tree, but with a proper tuning (enough memory)
that won't happen.
--
Michael

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