【发布时间】:2011-03-17 07:42:58
【问题描述】:
Prepared Statement 是 Statement 的一个稍微强大的版本,并且应该始终至少与 Statement 一样快速和易于处理。
Prepared Statement可以被参数化
大多数关系数据库通过四个步骤处理 JDBC/SQL 查询:
- 解析传入的 SQL 查询
- 编译 SQL 查询
- 规划/优化数据采集路径
- 执行优化查询/获取并返回数据
对于发送到数据库的每个 SQL 查询,语句将始终执行上述四个步骤。 Prepared Statement预先执行上述执行过程中的步骤(1)-(3)。因此,在创建 Prepared Statement 时,会立即执行一些预优化。其效果是减少执行时数据库引擎的负载。
现在我的问题是:
“使用 Prepared Statement 还有其他好处吗?”
【问题讨论】:
-
我认为最有效的方法是您的查询可以动态参数化