[英]Is it expensive to hold on to PreparedStatements? (Java & JDBC)
我正在试图弄清楚在创建数据库连接时是否有效缓存我的所有语句,或者我是否应该创建最常用的语句,并在需要时创建其他语句。
在所有客户端线程中创建所有语句似乎很愚蠢。 任何反馈将不胜感激。
我认为你太担心了,准备好的声明已经从几个级别的缓存中受益:
PreparedStatement
对象(并在后续调用连接上的preparedStatement
时返回缓存的PreparedStatement
)。 实际上,我甚至会说你可能会朝错误的方向看。 如果要设计可伸缩的解决方案,最佳做法是使用连接池,并且不需要比所需更长的连接,并在完成后释放它(释放数据库资源)。
这听起来像是一种我不会担心的过早优化,直到我得到一些告诉我重要的信息。 如果您的数据库访问效率低下,我会在考虑缓存预准备语句之前怀疑您的模式或值的访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.