Index question

From: "David Witham" <davidw(at)unidial(dot)com(dot)au>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: Index question
Date: 2004-02-13 02:30:10
Message-ID: CFA248776934FD43847E740E43C346D199DBE9@ozimelb03.ozicom.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi all,

I have a table with around 3M records in it and a few indexes on it. One of them is on the day column. I get 10-20K new records a day. After running ANALYSE in psql I tried the following queries:

buns=# explain select count(*) from cdr where day >= '20040127';
QUERY PLAN
------------------------------------------------------------------
Aggregate (cost=85596.50..85596.50 rows=1 width=0)
-> Seq Scan on cdr (cost=0.00..85053.86 rows=217055 width=0)
Filter: ("day" >= '2004-01-27'::date)
(3 rows)

buns=# explain select count(*) from cdr where day = '20040127';
QUERY PLAN
--------------------------------------------------------------------------------
Aggregate (cost=12950.10..12950.10 rows=1 width=0)
-> Index Scan using cdr_ix1 on cdr (cost=0.00..12928.00 rows=8839 width=0)
Index Cond: ("day" = '2004-01-27'::date)
(3 rows)

buns=# explain select count(*) from cdr where day between '20040127' and current_date;
QUERY PLAN
----------------------------------------------------------------------------------------
Aggregate (cost=20129.91..20129.91 rows=1 width=0)
-> Index Scan using cdr_ix1 on cdr (cost=0.00..20095.66 rows=13699 width=0)
Index Cond: (("day" >= '2004-01-27'::date) AND ("day" <= ('now'::text)::date))
(3 rows)

I understand that selecting count(*) will involve a scan at some stage, but I was surprised that the index wasn't used in the >= case, but was used in the between case.

Why is this so? Do I need to ANALYSE some more or is this just the way the query planner works?

Thanks,
David

David Witham
Telephony Platforms Architect
Unidial
Ph: 03 8628 3383
Fax: 03 8628 3399

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Rod Taylor 2004-02-13 02:53:45 Re: 7.4 - FK constraint performance
Previous Message Ivo Anon 2004-02-13 01:54:21 nextval problem