BUG #5231: SELECT DISTINCT poorly implemented vs SELECT ... GROUP BY

Поиск
Список
Период
Сортировка
От Thomas Hamilton
Тема BUG #5231: SELECT DISTINCT poorly implemented vs SELECT ... GROUP BY
Дата
Msg-id 200912031556.nB3Fu5sv015354@wwwmaster.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #5231: SELECT DISTINCT poorly implemented vs SELECT ... GROUP BY  (Joshua Tolley <eggyknap@gmail.com>)
Re: BUG #5231: SELECT DISTINCT poorly implemented vs SELECT ... GROUP BY  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-bugs
The following bug has been logged online:

Bug reference:      5231
Logged by:          Thomas Hamilton
Email address:      thomashamilton76@yahoo.com
PostgreSQL version: 8.3.8
Operating system:   Ubuntu 4.2.4
Description:        SELECT DISTINCT poorly implemented vs SELECT ... GROUP
BY
Details:

SELECT DISTINCT does a Sort followed by Unique.

SELECT ... GROUP BY, which is logically equivalent, performs a
HashAggregate.

When run against a large dataset with a small number of distinct results
HashAggregate is an order of magnitude more efficient!

Since the spec does not require DISTINCT to return sorted results, I don't
believe Sort ... Unique will ever be more efficient than HashAggregate.

Therefore, in order to maximize performance, DISTINCT should always be
implemented as HashAggregate.

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Assertion failure with a subtransaction and cursor
Следующее
От: Joshua Tolley
Дата:
Сообщение: Re: BUG #5231: SELECT DISTINCT poorly implemented vs SELECT ... GROUP BY