何时使用语句而不是准备好的语句。我想在没有参数的查询中使用语句,但为什么不使用准备好的语句?对于没有参数的查询,哪一个更快。
我想在没有参数的查询中使用语句,但为什么不使用准备好的语句?
那还差得远。 PreparedStatements 用于返回 ResultSet 或更新计数的 INSERT、UPDATE 和 DELETE 语句。正如 Joachim 指出的那样,它们不适用于 DDL 语句,也不适用于应使用 CallableStatement 的存储过程的调用(这不是两个类之间的区别)。就没有绑定参数的查询而言,PreparedStatements 可能比 Statements 更好(见下文)。
对于没有参数的查询,哪一个更快。
从长远来看,在单个连接中长期使用,PreparedStatements 将会变得更快。这是因为,虽然PreparedStatements需要编译,这需要一些时间(这确实不是很多,所以不要认为这是一个缺点),但编译后的版本本质上保存了对SQL执行计划的引用。数据库。编译后,PreparedStatement 将存储在连接特定的缓存中,以便可以重用编译后的版本以实现性能提升。如果您使用 JDBC Batch 操作,则使用PreparedStatements 将使批处理的执行速度比使用普通Statement 对象快得多,如果数据库必须这样做,则可能必须一次又一次地准备计划。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)