PostgreSQL中的共享缓冲区空间是否缓存索引查询?

时间:2019-06-06 08:17:58

标签: postgresql caching

如果要对索引上的PostgreSQL表进行负载测试。 PostgreSQL使用的共享缓冲区空间或任何其他内存组件会缓存数据/查询计划吗?

我找到了这个资源,但是并没有真正回答我的问题: https://www.postgresql.fastware.com/blog/back-to-basics-with-postgresql-memory-components

1 个答案:

答案 0 :(得分:2)

PostgreSQL中没有共享内存区域,用于计划的缓存。

通常,执行计划根本不会被缓存,每当运行查询时,都必须再次生成执行计划。

有两个例外,执行计划在数据库会话中缓存(但跨会话 not ):

  • 已准备好的语句的计划被缓存。

  • 从PL / pgSQL函数运行的SQL语句计划被缓存(用EXECUTE执行的动态SQL除外)。