2015-07-10 136 views
0

我一直在使用postgresql的explain語法來分析查詢。但是,我試圖對一個自定義函數sproc運行它,但它不分析它。有沒有辦法使用解釋功能?如果不是本地的,有沒有辦法以編程方式導出函數體,並讓查詢分析器有趣呢?Postgresql查詢分析器功能

+0

你可以用'auto_explain'模塊做到這一點:http://dba.stackexchange.com/questions/84414/explain-analyze-cannot-get-detailed-analyzed-results-for-queries-in-a- PLPGSQL –

回答

1

不是真的,並且PostgreSQL的可插入過程語言不太可能以一般方式發生。在任何情況下,對於不僅僅是帶參數查詢的函數而言,EXPLAIN可能並不是一個定義良好的概念。

典型的解決方法是提取查詢部分,然後執行PREPARE foo(...) ... SELECT,然後是EXPLAIN EXECUTE foo(...)。這讓你看到一個簡單的參數化選擇的計劃。