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

Предыдущее
От: Josh Berkus
Дата:
Сообщение: Re: Question on pgsql optimisation of SQL and structure (index, etc)
Следующее
От: Allen Landsidel
Дата:
Сообщение: Re: Strange (?) Index behavior?