1

Temat: Optymalizacja zapytania

Dlaczego
działanie zapytania w  funkcji napisanej w plpgsql
działa bardzo długo  gdy  wykonuje sie ze zmiennymi r,m,k

update ks_dekret set status=1 where id_ks_dow is not null and id_ks_dow not in (select id from ks_dow where rok=$1 and mc=$2 and ksiegi=$3) and rok=$1 and mc=$2 and ksiegi=$3;

natomiast   bardzo szybko dziala gdy  r,m,k zastapimy stałymi

update ks_dekret set status=1 where id_ks_dow is not null and id_ks_dow not in (select id from ks_dow where rok=2008 and mc=7 and ksiegi=0) and rok=2008 and mc=7 and ksiegi=0;


zaznaczam ze   tabela ks_dekret ma okolo  pół milona rekordów,
oraz  to zapytanie zadnego update nie robi  ale sama analiza w tych dwóch przypadkach dziala  różnie.