Re: [SQL] index usage ... strange !?

Поиск
Список
Период
Сортировка
От Marten Feldtmann
Тема Re: [SQL] index usage ... strange !?
Дата
Msg-id 200001191746.SAA09643@feki.toppoint.de
обсуждение исходный текст
Ответ на Re: [SQL] index usage ... strange !?  (Marten Feldtmann <marten@feki.toppoint.de>)
Ответы Re: [SQL] index usage ... strange !?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
> 
>  Therefore I have to rewrite the sql statement above to:
> 
>  SELECT P3AT.AV,P3AT.AT,P3AT.AV FROM P3AT  WHERE
>  EXISTS( SELECT B.AO FROM P3AT as B WHERE B.AO=P3AT.AO AND ..... )
> 
Ok, indeed it was the wrong statement, therefore I rewrote it to:
SELECT P3AT.AO,P3AT.AT,P3AT.AV FROM P3ATWHERE  EXISTS    (SELECT B.AO FROM P3AT AS B WHERE B.AO=P3AT.AO AND ....)
There're indices on AO,AT,AV. Size of table about 23000 rows.
He uses indices only for the statement within EXISTS, which seems
to be pretty fast but for the outer SELECT statement he uses a
sequential scan ... which brings the the statement down from 23 ms to
2000ms.
Actually I don not understand it. The "B.AO=P3AT.AO" should create
internally a join (?) and therefore he could use the index on AO in
the outer select to create the result - but the seq scan seems to
be wrong.
Marten





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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [SQL] char(19) to varchar(32)
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [SQL] index usage ... strange !?