gpt4 book ai didi

java - 什么时候使用 Statement 而不是 Prepared Statement?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:13:34 27 4
gpt4 key购买 nike

何时使用语句而不是准备语句。我想语句用于没有参数的查询,但为什么不使用准备好的语句呢?对于没有参数的查询,哪个更快。

最佳答案

I suppose statement is used in queries with no parameter but why not use prepared statement ?

这还差得远呢。 PreparedStatements 用于返回 ResultSet 或更新计数的 INSERT、UPDATE 和 DELETE 语句。它们不适用于 Joachim 指出的 DDL 语句,它们也不适用于调用应该使用 CallableStatement 的存储过程(这不是两个类之间的区别)。就没有绑定(bind)参数的查询而言,PreparedStatements 可能比 Statements 更好(见下文)。

Which one is faster for queries with no params.

从长远来看,PreparedStatements 会比在单个连接中长期使用更快。这是因为,虽然 PreparedStatements 必须编译,这会花费一些时间(这真的不是很多,所以不要认为这是一个缺点),编译后的版本本质上持有对 SQL 执行计划的引用数据库。编译后,PreparedStatement 将存储在特定于连接的缓存中,以便可以重新使用编译后的版本来实现性能提升。如果您正在使用 JDBC 批处理操作,使用 PreparedStatements 将比使用普通 Statement 对象更快地执行批处理,如果数据库必须这样做,则可能必须一次又一次地准备计划。

关于java - 什么时候使用 Statement 而不是 Prepared Statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6343730/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com