Re: PostgreSQL doesn't use indexes even is enable_seqscan
От | Darren Ferguson |
---|---|
Тема | Re: PostgreSQL doesn't use indexes even is enable_seqscan |
Дата | |
Msg-id | Pine.LNX.4.44.0207081334570.23000-100000@thread.crystalballinc.com обсуждение исходный текст |
Ответ на | PostgreSQL doesn't use indexes even is enable_seqscan = off (Hans-Juergen Schoenig <hs@cybertec.at>) |
Список | pgsql-general |
Postgres thinks 300000 is an int4 and not int8 so it is not using the index on the int8. Either cast by doing EXPLAIN SELECT * FROM one WHERE id = 300000::bigint; or EXPLAIN SELECT * FROM one WHERE id = '300000'; Darren On Sun, 7 Jul 2002, Hans-Juergen Schoenig wrote: > I have a severe problem with PostgreSQL 7.2.1. > I have a table containing 500mio records (for testing purposes). > > I have indexed the table: > > CREATE UNIQUE INDEX idx_one_id ON one(id); > CREATE INDEX idx_one_xmod ON one(xmod); > > The index was created properly but somehow it isn't used: > > cluster=# \d one > Table "one" > Column | Type | Modifiers > --------+---------+----------- > id | bigint | > even | boolean | > xmod | integer | > Indexes: idx_one_xmod > Unique keys: idx_one_id > > cluster=# SET enable_seqscan TO off; > SET VARIABLE > cluster=# SELECT * FROM one WHERE id=300000; > Cancel request sent > ERROR: Query was cancelled. > cluster=# EXPLAIN SELECT * FROM one WHERE id=300000; > NOTICE: QUERY PLAN: > > Seq Scan on one (cost=100000000.00..109434714.00 rows=1 width=13) > > EXPLAIN > cluster=# SELECT version(); > version > ------------------------------------------------------------- > PostgreSQL 7.2.1 on i686-pc-linux-gnu, compiled by GCC 2.96 > (1 row) > > When sequential scans are turned off PostgreSQL should use an index but > it doesn't. > Is it a bug? Have I done something one? > Did anybody face a similar problem? > > Hans > > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > > -- Darren Ferguson
В списке pgsql-general по дате отправления: