2013-03-10 57 views
0

一个一般性的问题,但我无法找到答案的:。如果PreparedStatement的可运行甚至静态的sql语句,为什么我们需要在java.sql中声明*为什么我们需要的java.sql声明*包

编辑: 感谢垫

,但我关心的是,为什么在那里声明取代PreparedStatement的人会使用语句,而不是使用PreparedStatement的,换句话说

注:我的理解是 - 可以使用声明为静态查询,也没有解雇而不是经常查询的PreparedStatement IES(原因:性能,因为SQL预编译)

+3

你有没有注意到的PreparedStatement扩展语句,而不是扩展它的唯一一个? – Mat 2013-03-10 10:24:05

回答

0

一般情况下,PreparedStatement的将有更好的表现,当你在你的代码相同的查询,因为它使查询缓存。

但如果你的应用程序,如果相同的查询的频率是非常少的,那么的PreparedStatement不会改善任何性能。在这里你应该使用语句,这是你基于jdbc开发代码库的主要选择。

+1

感谢您的回复,但您可以这样说:语句是您基于jdbc开发代码库的主要选择。问这个,因为这将帮助我自己找到这些类型的问题的答案(希望你不要说oracle文档/谷歌搜索) – 2013-03-10 10:49:05

+0

因为对于JDBC使用默认选择是Statement。当我们使用存储过程时,我们不会使用callablestatement,当我们有机会保存查询的执行计划并将结果提供给用户而不需要进一步的执行计划时,我们将使用prepared语句。这只会发生整个查询语句与前一个相同。但是这在某些应用程序中会发生。在大多数情况下,我们使用statement作为默认情况,因为大多数情况下查询都不相同。 – 2013-03-10 11:10:45

相关问题