查询执行计划是否存储在postgresql中的任何位置?
我试图弄清楚PostgreSQL查询执行计划是否以某种方式存储在某个地方(可能是作为查询执行计划是否存储在postgresql中的任何位置?,postgresql,explain,Postgresql,Explain,我试图弄清楚PostgreSQL查询执行计划是否以某种方式存储在某个地方(可能是作为pg_stat_语句和pg_prepared_语句),它们的可用时间超过会话的持续时间。我知道,PREPARE确实在pg_prepared_statements中缓存了sql语句,尽管就我所知,该计划本身似乎在任何视图中都不可用 我不确定是否有文档解释了PostgreSQL查询计划的生命周期,但从文档中听起来,PostgreSQL根本不缓存查询计划。这准确吗 谢谢 PostgreSQL没有用于执行计划的共享存储,
pg_stat_语句
和pg_prepared_语句
),它们的可用时间超过会话的持续时间。我知道,PREPARE
确实在pg_prepared_statements
中缓存了sql语句,尽管就我所知,该计划本身似乎在任何视图中都不可用
我不确定是否有文档解释了PostgreSQL查询计划的生命周期,但从文档中听起来,PostgreSQL根本不缓存查询计划。这准确吗
谢谢 PostgreSQL没有用于执行计划的共享存储,因此不能跨数据库会话重用它们 有两种方法可以在会话中缓存执行计划:
PREPARE
和EXECUTE
一起使用。计划将在准备好的语句的生命周期内被缓存,通常直到会话结束EXECUTE
一起运行的语句)的计划都将在会话生命周期内缓存除此之外,执行计划不会缓存在PostgreSQL中。您可以使用
auto\u explain