Re: BRIN indexes for MAX, MIN, ORDER BY?

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: BRIN indexes for MAX, MIN, ORDER BY?
Дата
Msg-id 20150927211306.GS295765@alvherre.pgsql
обсуждение исходный текст
Ответ на BRIN indexes for MAX, MIN, ORDER BY?  (Gavin Wahl <gavinwahl@gmail.com>)
Ответы Re: BRIN indexes for MAX, MIN, ORDER BY?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Gavin Wahl wrote:
> It seems trivial to accelerate a MAX or MIN query with a BRIN index. You
> just find the page range with the largest/smallest value, and then only
> scan that one. Would that be hard to implement? I'm interested in working
> on it if someone can give me some pointers.

I think this means you need to represent this operation as a specific
Path in some way.  See build_minmax_path() and its callers in planagg;
you probably need to tweak preprocess_minmax_aggregates() to consider
this.

This doesn't look like a simple project to me, mind.

> Somewhat harder but still possible would be using BRIN indexes to
> accelerate ORDER BY. This would require a sorting algorithm that can take
> advantage of mostly-sorted inputs. You would sort the page ranges by their
> minimum or maximum value, then feed the sorting algorithm in that order.

I wouldn't know where to start for this.  Maybe once Tom is done with
planner rejiggering it would make sense to consider looking at how to do
it.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Gavin Wahl
Дата:
Сообщение: BRIN indexes for MAX, MIN, ORDER BY?
Следующее
От: Thomas Munro
Дата:
Сообщение: Re: BRIN indexes for MAX, MIN, ORDER BY?