Re: Seqscan/Indexscan still a known issue?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Carlos Moreno wrote:

Hi,

I find various references in the list to this issue of queries
being too slow because the planner miscalculates things and
decides to go for a sequenctial scan when an index is available
and would lead to better performance.

Is this still an issue with the latest version?   I'm doing some
tests right now, but I have version 7.4  (and not sure when I will
be able to spend the effort to move our system to 8.2).

When I force it via  "set enable_seqscan to off", the index scan
takes about 0.1 msec  (as reported by explain analyze), whereas
with the default, it chooses a seq. scan, for a total execution
time around 10 msec!!  (yes: 100 times slower!).  The table has
20 thousand records, and the WHERE part of the query uses one
field that is part of the primary key  (as in, the primary key
is the combination of field1,field2, and the query involves a
where field1=1 and some_other_field=2).  I don't think I'm doing
something "wrong", and I find no reason not to expect the query
planner to choose an index scan.

For the time being, I'm using an explicit "enable_seqscan off"
in the client code, before executing the select.  But I wonder:
Is this still an issue, or has it been solved in the latest
version?
Please supply explain analyze for the query in both the index and sequence scan operation. We may be able to tell you why it's choosing the wrong options. Guess 1 would be that your primary key is int8, but can't be certain that is what's causing the problem.

Regards

Russell Smith

Thanks,

Carlos



[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux