Postgresql'deki sorgu optimizasyonunu anlamaya çalışıyorum ve içinde bazı sorgular içeren bir işlev var. Bazıları bir değişkene bir değer kazandırır basit sorgular da vardır ve ardından bir sonraki sorgu şey bulmak için bu değişkeni alır .. Diyelim:postgreSQL, bir işlevi analiz etmeyi açıklar
function()...
select type into t
from tableA
where code = a_c;
select num into n
from tableB
where id = t;
end function...
ve .. daha birçok Ben bütün fonksiyonunu analiz açıklamak istiyorum Komutu çalıştır komut analizini açıkla işlevini(); Bunu yapmak için doğru yol mu, yoksa fonksiyon içindeki her sorguyu analiz etmem mi gerekiyor? auto_explain.log_nested_statements
ile
The auto_explain module provides a means for logging execution plans of slow statements automatically, without having to run EXPLAIN by hand. This is especially helpful for tracking down un-optimized queries in large applications.
açık:
, belirli bir sorgu olmadığını görmek mümkün olacaktır optimize edilebilir. İşlev seviyesinde nasıl çalıştığından ve mantıklı olup olmadığından emin değil. – Ashalynd
İşlev gövdesini bir “HAZIRLIK şeyine (arg1, arg2, ...) AS ... orijinal bedenine koyabilirsiniz ... 've bunu kullanarak analiz et komutunu çalıştırınız (args);' – wildplasser
@wildplasser vücuttaki beyan bildirimleriyle ilgili bir hata var ve bunları bildirmezsem bu hatayı alıyorum: yardımcı bildiriler hazır olamaz –