内容简介:PostgreSQL 中 prepare statement 可以用来 cache plan,用来减少 plan 的次数。 默认是前 5 次调用生成 custom plan,然后生成 generic plan。 PG14 中在 pg_prepared_statements 视图中新增了 generic_plans 和...
PostgreSQL 中 prepare statement 可以用来 cache plan,用来减少 plan 的次数。
默认是前 5 次调用生成 custom plan,然后生成 generic plan。
PG14 中在 pg_prepared_statements 视图中新增了 generic_plans 和 custom_plans 两列,用来统计 generic plan 和 custom plan 的次数。
bill@bill=>PREPARE pr1 AS SELECT * FROM pg_class WHERE
bill-# relname = $1;
PREPARE
bill@bill=>EXECUTE pr1('t1');
bill@bill=>select * from pg_prepared_statements;
name | statement | prepare_time | parameter_types | from_sql | generic_plans | custom_plans
------+--------------------------------------------------+-------------------------------+-----------------+----------+---------------+--------------
pr1 | PREPARE pr1 AS SELECT * FROM pg_class WHERE +| 2021-05-13 10:17:28.429238+08 | {name} | t | 0 | 1
| relname = $1; | | | | |
(1 row)
执行多次后再查看:
bill@bill=>select * from pg_prepared_statements;
-[ RECORD 1 ]---+-------------------------------------------------
name | pr1
statement | PREPARE pr1 AS SELECT * FROM pg_class WHERE +
| relname = $1;
prepare_time | 2021-05-13 10:17:28.429238+08
parameter_types | {name}
from_sql | t
generic_plans | 2
custom_plans | 5
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 【Django源码解析视频更新记录】新增第五章模板专题
- mybatis-plus 2.1.1 新增 mybatis 多租户 SQL 解析功能
- HHVM 4.20.0 和 4.20.1 发布,新增使用 Rust 编写的解析器,结束对 4.14 的支持
- WookTeam 1.2 发布,新增知识库markdown编辑器,新增知识库协作更新通知
- rails - 新增middleware
- 如何正确新增字段
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程语言实现模式
Terence Parr / 李袁奎、尧飘海 / 华中科技大学出版社 / 2012-3-20 / 72.00元
《编程语言实现模式》旨在传授开发语言应用(工具)的经验和理念,帮助读者构建自己的语言应用。这里的语言应用并非特指用编译器或解释器实现编程语言,而是泛指任何处理、分析、翻译输入文件的程序,比如配置文件读取器、数据读取器、模型驱动的代码生成器、源码到源码的翻译器、源码分析工具、解释器,以及诸如此类的工具。为此,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通......一起来看看 《编程语言实现模式》 这本书的介绍吧!