| From: | Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com> |
|---|---|
| To: | pgsql-performance(at)postgresql(dot)org |
| Subject: | Why are distinct and group by choosing different plans? |
| Date: | 2007-08-02 21:32:14 |
| Message-ID: | f8tigg$4b6$1@news.hub.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
I notice that I get different plans when I run the
following two queries that I thought would be
identical.
select distinct test_col from mytable;
select test_col from mytable group by test_col;
Any reason why it favors one in one case but not the other?
d=# explain analyze select distinct test_col from mytable;
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------------
Unique (cost=0.00..14927.69 rows=27731 width=4) (actual time=0.144..915.214 rows=208701 loops=1)
-> Index Scan using "mytable(test_col)" on mytable (cost=0.00..14160.38 rows=306925 width=4) (actual time=0.140..575.580 rows=306925 loops=1)
Total runtime: 1013.657 ms
(3 rows)
d=# explain analyze select test_col from mytable group by test_col;
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------
HashAggregate (cost=7241.56..7518.87 rows=27731 width=4) (actual time=609.058..745.295 rows=208701 loops=1)
-> Seq Scan on mytable (cost=0.00..6474.25 rows=306925 width=4) (actual time=0.063..280.000 rows=306925 loops=1)
Total runtime: 840.321 ms
(3 rows)
d=# select version();
version
----------------------------------------------------------------------------------------------------------------
PostgreSQL 8.2.1 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
(1 row)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Gregory Stark | 2007-08-02 22:37:43 | Re: Why are distinct and group by choosing different plans? |
| Previous Message | Bryan Murphy | 2007-08-02 18:09:55 | Re: cpu throttling |