Index Using - Mailing list pgsql-general

From Michal Hlavac
Subject Index Using
Date
Msg-id 40FB9B77.1080208@medium13.sk
Whole thread Raw
Responses Re: Index Using  (Michal Hlavac <hlavki@medium13.sk>)
Re: Index Using  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
List pgsql-general
hello,

I have in db table with 3 columns... table name is l_model_to_part
columns: i_model_id, i_part_id, i_year

I have index on every column separately and primary key is (i_model_id,
i_part_id, i_year)

when I use: EXPLAIN SELECT * FROM l_model_to_part WHERE i_part_id=234;
                                     QUERY PLAN
----------------------------------------------------------------------------------
  Index Scan using index_20 on l_model_to_part  (cost=0.00..3.37 rows=10
width=12)
    Index Cond: (i_part_id = 234)


when I use: EXPLAIN SELECT * FROM l_model_to_part WHERE i_model_id=234;
                              QUERY PLAN
---------------------------------------------------------------------
  Seq Scan on l_model_to_part  (cost=0.00..1400.59 rows=866 width=12)
    Filter: (i_model_id = 234)

but, when I use: EXPLAIN SELECT * FROM l_model_to_part WHERE
i_model_id=234 AND i_model_id=456;
                                     QUERY PLAN
-----------------------------------------------------------------------------------
  Index Scan using index_50 on l_model_to_part  (cost=0.00..41.84
rows=11 width=12)
    Index Cond: ((i_model_id = 234) AND (i_model_id = 456))

my question is, why postgres doesn't use index_50 in second query???
when I create this structure in clear db, everything is all right...

thanx, hlavki


--

[ miso hlavac ][ hlavki@medium13.sk ][ http://hlavki.sk ]
[ icq:94900232 ][ callto://hlavki ]

pgsql-general by date:

Previous
From: Geoffrey KRETZ
Date:
Subject: Re: UPDATE statement
Next
From: Michal Hlavac
Date:
Subject: Re: Index Using