আমি ভিতরে বেশ কয়েকটি জটিল প্রশ্নের সাথে পোস্টগ্রেএসকিউএল 9.3 এ একটি পিএল / পিজিএসকিউএল ফাংশনটি ব্যবহার করছি:
create function f1()
returns integer as
$$
declare
event tablename%ROWTYPE;
....
....
begin
FOR event IN
SELECT * FROM tablename WHERE condition
LOOP
EXECUTE 'SELECT f2(event.columnname)' INTO dummy_return;
END LOOP;
...
INSERT INTO ... FROM a LEFT JOIN b ... LEFT JOIN c WHERE ...
UPDATE T SET cl1 = M.cl1 FROM M WHERE M.pkcols = T.pkcols;
...
end
$$ language plpgsql;
যদি আমি দৌড়ে EXPLAIN ANALYZE f1()
যাই তবে আমি কেবলমাত্র মোট সময় পাই, তবে কোনও বিবরণ নেই। ফাংশনে সমস্ত প্রশ্নের জন্য আমি কীভাবে বিশদ ফলাফল পেতে পারি?
যদি ফাংশনে প্রশ্নগুলি পোস্টগ্রিসের দ্বারা অনুকূলিত না করা হয় তবে আমি একটি ব্যাখ্যাও চাইব।
auto_explain.log_nested_statements
সাহায্য করতে পারে. দেখুন postgresql.org/docs/9.3/static/auto-explain.html