有一个sql PreparedStatement池是否有意义?

10 java sql postgresql design-patterns pool

作为一个PreparedStatatement包含预编译的sql命令,所以当我们创建这种类型的池时,为了不创建和销毁这个对象太多(就像线程池一样).
它有意义吗?或者我只是如此困惑?

duf*_*ymo 0

不,因为你每次都必须在客户端绑定它们。

服务器可能会缓存已编译的内容PreparedStatement(例如,解析、检查以确保表存在且列是正确的类型等),这才是您真正想要的。

  • 然而,某些连接池和某些 JDBC 驱动程序会缓存准备好的语句。有些数据库将它们缓存在服务器本身上。这一切都取决于数据库。 (4认同)