pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Marcos Garcia <marcos-p-garcia@ptinovacao.pt>
To: pgsql-sql <pgsql-sql@postgresql.org>
Subject: Slow SELECT with distinct, in a TIMESTAMP type column
Date: 24 Jun 2002 14:58:41 +0100
Message-ID: <1024927121.1062.297.camel@sargao> (raw)

Hi,


I've a table "send_total" like this:

                                      Table "send_total"
  Column   |           Type           |                      
Modifiers                       
-----------+--------------------------+-------------------------------------------------------
 id        | integer                  | not null default
nextval('"send_total_id_seq"'::text)
 smsdate   | timestamp with time zone | 
 idclient  | integer                  | not null
 recv      | integer                  | default 0
 send      | integer                  | default 0
 recv_conf | integer                  | default 0
 send_conf | integer                  | default 0
 conf0     | integer                  | default 0
 conf1     | integer                  | default 0
 conf2     | integer                  | default 0
 conf3     | integer                  | default 0
 conf4     | integer                  | default 0
 conf5     | integer                  | default 0
 conf6     | integer                  | default 0
 conf7     | integer                  | default 0
Indexes: send_total_idclient_idx,
         send_total_smsdate_idx
Primary key: send_total_pkey
Unique keys: send_total_idclismsdate
(idclient and smsdate must be unique)


The problem is that my query is too slow when i use distinct:

pgsql> explain analyze SELECT distinct(smsdate) FROM send_total;

NOTICE:  QUERY PLAN:

Unique  (cost=15840.31..15870.81 rows=1220 width=8) (actual
time=56358.93..56452.78 rows=6670 loops=1)
  ->  Sort  (cost=15840.31..15840.31 rows=12203 width=8) (actual
time=56358.91..56436.95 rows=12062 loops=1)
        ->  Seq Scan on send_total  (cost=0.00..15012.03 rows=12203
width=8) (actual time=0.55..56205.25 rows=12062 loops=1)
Total runtime: 56518.26 msec


This query is becoming slower and slower, day by day.
What i have to do to optimize my query or database??? I've this database
working since January 2002.

I've tried to make the following command, but without success:

$ /usr/bin/vacuumdb -z -d dbname -t send_total



Thanks in advance,


M.P.Garcia





-- 
M.P.Garcia
PT Inovação, SA
Serviços e Redes Móveis 
Rua José Ferreira Pinto Basto - 3810 Aveiro
Tel: 234 403 253  -  Fax: 234 424 160
E-mail: marcos-p-garcia@ptinovacao.pt

Attachments:

  signature.asc (application/pgp-signature, 231B) download

view thread (4+ messages)  latest in thread

Message-ID: <1024927121.1062.297.camel@sargao>
Permalink:  ../1024927121.1062.297.camel@sargao/
Also on:    postgresql.org/message-id/1024927121.1062.297.camel@sargao

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: marcos-p-garcia@ptinovacao.pt
  Subject: Re: Slow SELECT with distinct, in a TIMESTAMP type column
  In-Reply-To: <1024927121.1062.297.camel@sargao>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox