Thread: pgsql: Allow skipping some items in a multi-key GIN search.

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

From
Heikki Linnakangas
Date:
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(-)