Обсуждение: Not using index
Hi, I have a table with about 8million tuples in it. I need to do a search on two of the table's columns, so I've created a couple of indices, one for each column. Then I've run VACUUM ANALYZE. The query planner still wants to do a sequential scan on the database. Any idea where I'm going wrong? Crispin
Crispin Miller <crispin@cs.man.ac.uk> writes:
> Then I've run VACUUM ANALYZE. The query planner still wants to do a
> sequential scan on the database. Any idea where I'm going wrong?
Not providing enough detail to let anyone help you ;-)
Let's see the table schema (pg_dump -s -t table is a useful way to
collect the info quickly and accurately), the attempted query, and
the EXPLAIN output for it. Also, if you do
SET enable_seqscan TO OFF;
how does that change the EXPLAIN result?
regards, tom lane
At 14:47 07.02.01 +0000, you wrote:
>Hi,
>I have a table with about 8million tuples in it. I need to do a search
>on two of the table's columns, so I've created a couple of indices, one
>for each column.
>Then I've run VACUUM ANALYZE. The query planner still wants to do a
>sequential scan on the database. Any idea where I'm going wrong?
>Crispin
For this, you need to create an index on BOTH columns, e.g.
'create index foo on bar ( baz, bang )'
That should help.
Greetings,
Joerg
Hi Tom, Jeorg, Thanks for the help - I thought I might be being a bit vague... Jeorg's suggestion solved my problem - I need to create an index across both columns: 'create index foo on bar ( baz, bang )' Like what Jeorg said I should :-) Appreciated, Crispin