Why distinct so slow ?
От | Hervé Piedvache |
---|---|
Тема | Why distinct so slow ? |
Дата | |
Msg-id | 200411152222.02601.footcow@noos.fr обсуждение исходный текст |
Список | pgsql-performance |
Hi, I have a strange (for me) result ... Why the second request is really quicker with a Seq Scan than the first one with a DISTINCT and using an index !? The table have really 183957 rows ... not like the Seq Scan seems to expect ... !? I understand nothing here ... Thanks for your explanations ... # explain analyze SELECT distinct s.id_category FROM site s; QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------- Unique (cost=0.00..11903.15 rows=56 width=4) (actual time=0.147..1679.170 rows=68 loops=1) -> Index Scan using ix_site_id_category on site s (cost=0.00..11496.38 rows=162706 width=4) (actual time=0.143..1452.611 rows=183957 loops=1) Total runtime: 1679.496 ms (3 rows) Time: 1680,810 ms # explain analyze SELECT s.id_category FROM site s group by id_category; QUERY PLAN ------------------------------------------------------------------------------------------------------------------------- HashAggregate (cost=7307.83..7307.83 rows=56 width=4) (actual time=1198.968..1199.084 rows=68 loops=1) -> Seq Scan on site s (cost=0.00..6901.06 rows=162706 width=4) (actual time=0.097..921.676 rows=183957 loops=1) Total runtime: 1199.260 ms (3 rows) -- Bill Footcow
В списке pgsql-performance по дате отправления: