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
Re: BUG #5231: SELECT DISTINCT poorly implemented vs SELECT ... GROUP BY |
Список | 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 по дате отправления: