postgreSQL解释分析一个函数

时间:2015-05-30 11:14:10

标签: sql postgresql postgresql-9.4

我试图理解postgresql中的查询优化,我有一个函数,里面有一些查询。其中一些是简单的查询,可以将值保存到变量中,然后下一个查询将此变量用于查找内容..让我们说:

 function()...
select type into t
from tableA
where code = a_c;

select num into n
from tableB
where id = t; 
end function...

还有更多..如果我想解释分析整个函数我执行命令说明解析select function();这是正确的方法吗?或者我应该解释分析函数内的每个查询,如果是这样,用什么值?

1 个答案:

答案 0 :(得分:4)

考虑使用auto_explain模块:

  

auto_explain模块提供了记录执行计划的方法   自动缓慢的语句,而不必运行EXPLAIN   手。这对于跟踪未优化的内容特别有用   在大型应用程序中查询。

开启了auto_explain.log_nested_statements

  

auto_explain.log_nested_statements (布尔值)

     

auto_explain.log_nested_statements导致嵌套语句    (在函数内执行的语句)将被考虑用于记录。   关闭时,仅记录顶级查询计划。这个参数   默认是关闭的。只有超级用户才能更改此设置。