Re: Querying distinct values from a large table

Richard Huxton <dev@archonet.com>

From: Richard Huxton <dev@archonet.com>
To: Simon Riggs <simon@2ndquadrant.com>
Cc: Igor Lobanov <ilobanov@swsoft.com>, pgsql-performance@postgresql.org
Date: 2007-01-30T14:11:48Z
Lists: pgsql-performance
Simon Riggs wrote:
> On Tue, 2007-01-30 at 15:33 +0600, Igor Lobanov wrote:
> 
>> explain analyze select distinct a, b from tbl
>>
>> EXPLAIN ANALYZE output is:
>>
>>   Unique  (cost=500327.32..525646.88 rows=1848 width=6) (actual 
>> time=52719.868..56126.356 rows=5390 loops=1)
>>     ->  Sort  (cost=500327.32..508767.17 rows=3375941 width=6) (actual 
>> time=52719.865..54919.989 rows=3378864 loops=1)
>>           Sort Key: a, b
>>           ->  Seq Scan on tbl  (cost=0.00..101216.41 rows=3375941 
>> width=6) (actual time=16.643..20652.610 rows=3378864 loops=1)
>>   Total runtime: 57307.394 ms
> 
> All your time is in the sort, not in the SeqScan.
> 
> Increase your work_mem.

Well, even if the sort was instant it's only going to get him down to 
20secs.

-- 
   Richard Huxton
   Archonet Ltd