Re: Best way to scan on-disk bitmaps

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Teodor Sigaev <teodor@sigaev.ru>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Greg Stark <gsstark@mit.edu>, "Victor Y. Yegorov" <viy@mits.lv>, Postgres Hackers <pgsql-hackers@postgresql.org>
Date: 2005-05-16T22:53:43Z
Lists: pgsql-hackers
If people have GIST TODOs, please post them.

---------------------------------------------------------------------------

Teodor Sigaev wrote:
> About page splitting algorithm in GiST in multikey case. For the beginning, page 
> is splitted by calling pickSplit method of key of first column (pickSplit method 
> is defined for opclass and it is a user function), then it try to find equal 
> values  of first column in left and right pages ( gist.c lines 1264-1901 ). If 
> it is, then GiST core will try to resort tuples with first equal keys between 
> left and right pages using penalty method for second and higher column's key. If 
> it's not, it leave pages untouched. But unions for parent page of second and 
> higher column's keys will be formed.
> 
> So, if index is defined as 'using gist (a,b,c)' then, in principle, GiST index 
> can speed up queries like 'a=V1 and c=V2'.  But it will not usable for queries 
> ( b=V3 and c=V2 ). By the way, instead of '=' operation may be used other 
> operations. Number of supported operations by GiST is indefinite unlike, for 
> example, btree which supported only five: <, <=, =, =>, >.
> 
> 
> 
> -- 
> Teodor Sigaev                                   E-mail: teodor@sigaev.ru
>                                                     WWW: http://www.sigaev.ru/
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073