On Wed, 17 Dec 2003, Gustavo Scotti wrote: > <http://www.axur.com.br/images/axur_animado.gif> > _____ > > > Dear developers, > > I almost got nuts those two days I'm stuck with this issue... > Let's get straight to the point. I'm using a small portion of my actual > table, but this is enough. > > CREATE SEQUENCE it_seq; > CREATE TABLE it_test ( > id bigint not null primary key default > nextval('public.it_test_id_seq'::text) > ); > > explain SELECT id FROM it_test WHERE id=123; > Seq Scan on it_test (cost=0.0..22.50 rows=2 width=8) > Filter: (id=123) > (2 rows) > > when the key is bigint, it ignores any kind of index scan, it always use > Seq scan. Why? >
Try casting id to bigint, like so: explain SELECT id from it_test WHERE id = 123::bigint; (You need to do this for smallints as well). Why doesn't the query planner notice that an int-type index is present and perform the cast on its own? Perhaps one of the developers can explain? I think users would like this property if it could be implemented without breaking anything. Nishad -- "Underneath the concrete, the dream is still alive" -- Talking Heads ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly