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.