index on INT8 column is never used - Mailing list pgsql-general

From Maurice Balick
Subject index on INT8 column is never used
Date
Msg-id 1052146448.1659.2154.camel@chartwell.smiley.com
Whole thread Raw
Responses Re: index on INT8 column is never used  (Shridhar Daithankar <shridhar_daithankar@persistent.co.in>)
List pgsql-general
I have a table of transactions (about 1 million records). Records have
account_ids (INT4), and timestamps (INT8)., and many other things. The
transaction table has indexes on both:
   CREATE INDEX trans_acc_idx ON transactions (account_id);
and
   CREATE INDEX trans_ts_idx ON transactions (ts);

I don't understand why a search by account_id used the trans_acc_idx
index (there is about 15,000 account_ids), where are a search by
timestamp refuses to used the trans_ts_idx index (there is about 380,000
distinct timestamps).

nf=# explain select timestamp from transactions where account_id =
10521;
NOTICE:  QUERY PLAN:

Index Scan using trans_aid_idx on transactions  (cost=0.00..844.25
rows=213 width=8)

EXPLAIN

nf=# explain select account_id from transactions where timestamp =
1052101817212;
NOTICE:  QUERY PLAN:

Seq Scan on transactions  (cost=0.00..40414.88 rows=3855 width=4)

EXPLAIN

Thanks for your help. (I am using Postgresql 7.2.3 on RedHat 7.3)

--Maurice
--
-- Maurice Balick

---------------------------------
NewsFutures, LLLP
Email: mbalick@newsfutures.com
Web:   http://www.newsfutures.com
---------------------------------


pgsql-general by date:

Previous
From: greg@turnstep.com
Date:
Subject: Re: roman numerals
Next
From: Dennis Gearon
Date:
Subject: Re: Database server restarting