chi*_*chi 2 postgresql explain
我试图弄清楚 PostgreSQL 查询执行计划是否以比会话持续时间更长的方式存储在某个地方(可能作为pg_stat_statements和的补充)。pg_prepared_statements据我所知,它PREPARE确实在 中缓存了一条 sql 语句pg_prepared_statements,尽管据我所知,该计划本身似乎在任何视图中都不可用。
我不确定是否有文档解释 PostgreSQL 查询计划的生命周期,但从EXPLAIN文档中听起来,PostgreSQL 根本不缓存查询计划。这准确吗?
谢谢!
PostgreSQL 没有用于执行计划的共享存储,因此它们不能跨数据库会话重用。
有两种方法可以在会话中缓存执行计划:
将准备好的语句与 SQL 语句PREPARE和 一起使用EXECUTE。该计划将在准备好的语句的生命周期内被缓存,通常直到会话结束。
使用 PL/pgSQL 函数。此类函数中所有静态 SQL 语句(即不使用运行的语句EXECUTE)的计划将在会话生命周期内进行缓存。
除此之外,执行计划不会缓存在 PostgreSQL 中。
| 归档时间: |
|
| 查看次数: |
2600 次 |
| 最近记录: |