On Mon, Nov 10, 2008 at 12:35 PM, Andrus <kobruleht2(at)hot(dot)ee> wrote:
> explain analyze select count(*)::INTEGER as cnt
> from dok
> WHERE dokumnr IN
> (869906,869907,869910,869911,869914,869915,869916,869917,869918,869921 )
> and
> dokumnr NOT IN (SELECT dokumnr FROM bilkaib WHERE
> alusdok='LY')
>
Looks to me like most of the time is spent doing "not in (select a ton
of rows from bilkaib)".
Try something like "not exists (select null from bilkaib b where
b.dokumnr = dok.dokumnr and alusdok = 'LY')".
HTH, Isak