【发布时间】:2024-01-20 17:49:01
【问题描述】:
PostgreSQL 中的Prepare 和Execute 组合允许使用绑定参数。但是,Prepare 不会生成针对一组参数绑定优化的计划,该计划可以与一组不同的参数绑定一起重复使用。是否有人对实现此类功能有意见?有了这个,计划将针对给定的参数绑定集进行优化,但可以重复用于另一组。该计划对于后续集可能效率不高,但如果使用新的参数绑定重新计算计划成本,则可能会发现它是有效的。
读取和使用参数绑定值进行基数估计在 SQL Server 中称为“参数嗅探”,在 Oracle 中称为“绑定窥探”。基本上,有没有人在 PostgreSQL 中做过类似的事情。
谢谢, 坎贝尔
【问题讨论】:
-
请参阅 Postgres-12 文档中的
plan_cache_mode:postgresql.org/docs/12/…
标签: postgresql sql-parametrized-query sqlbindparameter parameter-sniffing