【发布时间】:2012-07-25 08:00:00
【问题描述】:
在 Oracle 工作了几年后,我刚搬到 PostgreSQL。 我一直在研究使用 PostgreSQL 数据库的应用程序(Java、JDBC)中准备好的语句的一些性能问题。
Oracle 在其 SGA 中缓存准备好的语句 - 准备好的语句池在数据库连接之间共享。
PostgreSQL 文档似乎没有表明这一点。这是文档中的 sn-p (https://www.postgresql.org/docs/current/static/sql-prepare.html) -
准备好的语句只持续当前数据库的持续时间 会议。会话结束时,准备好的语句被遗忘, 所以在再次使用之前必须重新创建它。这也意味着 单个准备好的语句不能被多个同时使用 数据库客户端;但是,每个客户都可以创建自己准备的 要使用的语句。
我只是想确保我理解这一点,因为对于数据库来说,实现某种常见的常用准备语句池似乎很基本。
如果 PostgreSQL 不缓存这些,则意味着每个需要大量数据库事务的应用程序都需要开发某种可以跨连接重用的准备好的语句池。
如果您以前使用过 PostgreSQL,我将不胜感激。
【问题讨论】:
-
您并没有真正使用(我的意思是真的)古代版本7.3中的手册供您参考,是吗?
-
2002 年 11 月发布了 7.3 版。如今完全过时且无用。您最好使用 9.1 或 9.2 版(发布日期 2012 年 9 月)来学习 PostgreSQL,这是最新的支持生产版本。
标签: postgresql