From: | Michal Hlavac <hlavki(at)medium13(dot)sk> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Index Using |
Date: | 2004-07-19 09:59:19 |
Message-ID: | 40FB9B77.1080208@medium13.sk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)medium13(dot)sk ][ http://hlavki.sk ]
[ icq:94900232 ][ callto://hlavki ]
From | Date | Subject | |
---|---|---|---|
Next Message | Michal Hlavac | 2004-07-19 11:31:02 | Re: Index Using |
Previous Message | Geoffrey KRETZ | 2004-07-19 09:28:20 | Re: UPDATE statement |