Thread: DISTINCT Question

DISTINCT Question

From
"Y Sidhu"
Date:
Does using DISTINCT in a query force PG to abandon any index search it might have embarked upon?

--
Yudhvir Singh Sidhu
408 375 3134 cell

Re: DISTINCT Question

From
"Steinar H. Gunderson"
Date:
On Tue, May 08, 2007 at 12:52:35PM -0700, Y Sidhu wrote:
> Does using DISTINCT in a query force PG to abandon any index search it might
> have embarked upon?

No.

If you need help with a specific query, please post it, along with your table
definitions and EXPLAIN ANALYZE output.

/* Steinar */
--
Homepage: http://www.sesse.net/

Re: DISTINCT Question

From
"Joshua D. Drake"
Date:
Y Sidhu wrote:
> Does using DISTINCT in a query force PG to abandon any index search it
> might have embarked upon?

Depends on the where clause.

>
> --
> Yudhvir Singh Sidhu
> 408 375 3134 cell


--

       === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive  PostgreSQL solutions since 1997
              http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/


Re: DISTINCT Question

From
Scott Marlowe
Date:
On Tue, 2007-05-08 at 14:52, Y Sidhu wrote:
> Does using DISTINCT in a query force PG to abandon any index search it
> might have embarked upon?

 explain analyze select distinct request from businessrequestsummary
where lastflushtime between now() - interval '30 minutes' and now();
                                                                                   QUERY PLAN

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Unique  (cost=3.04..3.04 rows=1 width=17) (actual time=110.565..162.630
rows=75 loops=1)
   ->  Sort  (cost=3.04..3.04 rows=1 width=17) (actual
time=110.555..135.252 rows=6803 loops=1)
         Sort Key: request
         ->  Index Scan using businessrequestsummary_lastflushtime_dx on
businessrequestsummary  (cost=0.01..3.03 rows=1 width=17) (actual
time=0.063..59.674 rows=6803 loops=1)
               Index Cond: ((lastflushtime >= (now() -
'00:30:00'::interval)) AND (lastflushtime <= now()))
 Total runtime: 163.925 ms
(6 rows)

I'd say no.