Neo*_*Neo 9 java database jdbc
何时使用语句而不是预备语句.我假设语句用于没有参数的查询,但为什么不使用预准备语句?对于没有参数的查询,哪一个更快.
Vin*_*lds 10
我假设语句用于没有参数的查询,但为什么不使用预准备语句?
那甚至不是很接近.PreparedStatements用于返回ResultSet或更新计数的INSERT,UPDATE和DELETE语句.它们不适用于Joachim所指出的DDL语句,它们也不适用于调用应该使用CallableStatement的存储过程(这不是两个类之间的差异).就没有绑定参数的查询而言,PreparedStatements可能比语句更好(见下文).
对于没有参数的查询,哪一个更快.
从长远来看,PreparedStatements将变得更快,而在单个连接中的扩展使用.这是因为,虽然必须编译PreparedStatements,这需要一些时间(这确实不是很多,所以不要把它看作是一个缺点),编译版本本质上是对SQL执行计划的引用.数据库.编译后,PreparedStatement存储在特定于连接的缓存中,以便可以重用已编译的版本以实现性能提升.如果您正在使用JDBC批处理操作,那么使用PreparedStatements将比使用普通Statement对象更快地执行批处理,如果数据库必须这样做,计划可能必须一次又一次地准备.