pgsql: Allow skipping some items in a multi-key GIN search. - Mailing list pgsql-committers

From Heikki Linnakangas
Subject pgsql: Allow skipping some items in a multi-key GIN search.
Date
Msg-id E1W8XT2-0006T5-DM@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Allow skipping some items in a multi-key GIN search.

In a multi-key search, ie. something like "col @> 'foo' AND col @> 'bar'",
as soon as we find the next item that matches the first criteria, we don't
need to check the second criteria for TIDs smaller the first match. That
saves a lot of effort, especially if one of the terms is rare, while the
second occurs very frequently.

Based on ideas from Alexander Korotkov's fast scan patch.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/e20c70cb0fa74d5bffa080e21a99b44bf0768667

Modified Files
--------------
src/backend/access/gin/ginget.c |  460 +++++++++++++++++++++------------------
1 file changed, 250 insertions(+), 210 deletions(-)


pgsql-committers by date:

Previous
From: Andrew Dunstan
Date:
Subject: pgsql: Remedy two small omissions in the new json functions docs.
Next
From: Heikki Linnakangas
Date:
Subject: pgsql: Further optimize multi-key GIN searches.