PostgreSQL是否像Oracle一样缓存准备好的语句
在与Oracle合作几年后,我刚刚搬到了PostgreSQL.
我一直在研究使用PostgreSQL数据库在应用程序( Java,JDBC)中准备好语句的一些性能问题. Oracle在其SGA中缓存预准备语句 – 准备好的语句池在数据库连接之间共享. PostgreSQL文档似乎没有表明这一点.这是文档中的片段(https://www.postgresql.org/docs/current/static/sql-prepare.html) –
我只是想确保我理解这一点,因为对于数据库来说,实现某种常用的预处理语句的公共池似乎是如此基础. 如果PostgreSQL没有缓存这些意味着每个需要大量数据库事务的应用程序需要开发某种可以跨连接重用的预准备语句池. 如果您之前曾使用过PostgreSQL,我将不胜感激. 解决方法
是的,你的理解是正确的.通常,如果您有一组准备好的查询,那么您应该调用一个自定义函数来设置连接.
这个afaik有三个主要原因: >有一个很长的待办事项列表,当开发人员感兴趣/付费处理它们时,它们就会完成.据推测,没有人认为它值得资助或想出一个有效的方法. 我怀疑添加这样的东西的最佳位置是在其中一个连接池(pgbouncer / pgpool)中,但是上次我检查过这样的功能时不存在. HTH (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |