On 2014-06-17 16:48:07 -0700, Greg Stark wrote: > On Tue, Jun 17, 2014 at 11:16 AM, Andres Freund <and...@2ndquadrant.com> > wrote: > > Well, it might be doable to correlate them along one axis, but along > > both? That's more complicated... And even alongside one axis you > > already get into problems if your geometries are irregularly sized. > > Asingle large polygon will completely destroy indexability for anything > > stored physically close by because suddently the minmax range will be > > huge... So you'll need to cleverly sort for that as well. > > I think there's a misunderstanding here, possibly mine. My > understanding is that a min/max index will always be exactly the same > size for a given size table. It stores the minimum and maximum value > of the key for each page. Then you can do a bitmap scan by comparing > the search key with each page's minimum and maximum to see if that > page needs to be included in the scan. The failure mode is not that > the index is large but that a page that has an outlier will be > included in every scan as a false positive incurring an extra iop.
I just rechecked, and no, it doesn't, by default, store a range for each page. It's MINMAX_DEFAULT_PAGES_PER_RANGE=128 pages by default... Haven't checked what's the lowest it can be se tto. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers