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?
|
Список | 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 по дате отправления: