Re: Sequencial scan instead of using index

Поиск
Список
Период
Сортировка
От Mark Kirkwood
Тема Re: Sequencial scan instead of using index
Дата
Msg-id 440D144D.9000106@paradise.net.nz
обсуждение исходный текст
Ответ на Sequencial scan instead of using index  ("Harry Hehl" <Harry.Hehl@diskstream.com>)
Список pgsql-performance
Harry Hehl wrote:
> There seems to be many posts on this issue but I not yet found an answer to the seq scan issue.
>
> I am having an issue with a joins. I am using 8.0.3 on FC4
>
> Query: select * from ommemberrelation where srcobj='somevalue' and dstobj in (select objectid from omfilesysentry
wherename='dir15_file80'); 
>
> Columns srcobj, dstobj & name are all indexed.
>
>

The planner is over-estimating the number of rows here (33989 vs 100):

->  Seq Scan on ommemberrelation  (cost=0.00..2394.72 rows=33989
width=177) (actual time=0.078..70.887 rows=100 loops=1)

The usual way to attack this is to up the sample size for ANALYZE:

ALTER TABLE ommemberrelation ALTER COLUMN srcobj SET STATISTICS 100;
ALTER TABLE ommemberrelation ALTER COLUMN dstobj SET STATISTICS 100;
-- or even 1000.
ANALYZE ommemberrelation;

Then try EXPLAIN ANALYZE again.


If you can upgrade to 8.1.(3), then the planner can consider paths that
use *both* the indexes on srcobj and dstobj (which would probably be the
business!).

Cheers

Mark

В списке pgsql-performance по дате отправления:

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: Can anyone explain this pgbench results?
Следующее
От: "Joost Kraaijeveld"
Дата:
Сообщение: Re: Can anyone explain this pgbench results?