Re: Minmax indexes
От | Andres Freund |
---|---|
Тема | Re: Minmax indexes |
Дата | |
Msg-id | 20140618105331.GI3115@awork2.anarazel.de обсуждение исходный текст |
Ответ на | Re: Minmax indexes (Greg Stark <stark@mit.edu>) |
Список | pgsql-hackers |
On 2014-06-17 16:48:07 -0700, Greg Stark wrote: > On Tue, Jun 17, 2014 at 11:16 AM, Andres Freund <andres@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
В списке pgsql-hackers по дате отправления: