Re: Why is it not using an index?
От | Gregory Wood |
---|---|
Тема | Re: Why is it not using an index? |
Дата | |
Msg-id | 002801c1cc4f$25dba980$7889ffcc@comstock.com обсуждение исходный текст |
Ответ на | Why is it not using an index? (Dmitry Tkach <dmitry@openratings.com>) |
Список | pgsql-general |
> explain select * from a where x=3; PostgreSQL is treating 3 as an int4 (integer) type, whereas x is an int2 (smallint) type. Try casting the constant as a smallint and it should use the index: explain select * from a where x=3::smallint; Greg ----- Original Message ----- From: "Dmitry Tkach" <dmitry@openratings.com> To: <pgsql-general@postgresql.org.pgsql-sql@postgresql.org> Sent: Friday, March 15, 2002 2:07 PM Subject: [GENERAL] Why is it not using an index? > This must be really simple, but I just can't get it :-( > I have a table (a) with a single column (x): > > Table "a" > Attribute | Type | Modifier > -----------+----------+---------- > x | smallint | > Index: a_idx > > > Index "a_idx" > Attribute | Type > -----------+---------- > x | smallint > btree > > The table has 10000000 rows.... > > Now, how come, when I do: > > explain select * from a where x=3; > > it says: > > Seq Scan on bset (cost=100000000.00..100175934.05 rows=303 width=2) > > Why is it not using a_idx??? > > I even tried set enable_seqscan to off - makes no difference :-( > > Any idea what is going on? > > Thanks a lot! > > Dima > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html >
В списке pgsql-general по дате отправления: