Próbuję zrozumieć optymalizacji kwerendy w postgresql i mam funkcję z niektórych zapytań w nim. Niektóre z nich są proste querys że zapisuje wartość do zmiennej, a następnie obok zapytanie trwa tę zmienną, aby znaleźć coś .. powiedzmy:wyjaśnienie postgreSQL analizować funkcję
function()...
select type into t
from tableA
where code = a_c;
select num into n
from tableB
where id = t;
end function...
i wiele innych .. Jeśli chcę wyjaśnić analizować całą funkcję Wykonuję polecenie explain analyze analyze select function(); Czy jest to właściwy sposób postępowania, czy też powinienem wyjaśnić, analizować każde zapytanie wewnątrz funkcji, a jeśli tak, jakie wartości?
Jeśli nie „wyjaśnić analizować” dla każdego indywidualnego zapytania, będzie mógł sprawdzić, czy dana zapytania można zoptymalizować. Nie wiesz, jak to działa na poziomie funkcji i czy ma to sens. – Ashalynd
Możesz umieścić ciało funkcji na rzecz 'PREPARE (arg1, arg2, ...) AS ... oryginalne ciało ...; 'i wywołaj to za pomocą' wyjaśnij, przeanalizuj, wykonaj rzecz (args); ' – wildplasser
@wildplasser wystąpił błąd w deklaracji instrukcji wewnątrz ciała i jeśli ich nie zadeklaruję, otrzymuję ten błąd: nie można przygotować instrukcji narzędziowych –