我目前正在查看一些通过运行存储过程执行甚至微不足道的插入/选择/更新的代码。
所以代码基本上是
CallableStatememt stm= jdbcConnection.prepareCall(sp_name with ??) ;
stm.setParameters()
stm.execute();
Run Code Online (Sandbox Code Playgroud)
正如我之前所说,sp_name 背后的代码大多是微不足道的。没有多表插入或复杂的计算。
只做有什么好处吗
Statement stm = jdbcConnection.prepareStatement(insert_query)
stm.setParameters();
stm.execute();
Run Code Online (Sandbox Code Playgroud)
这里insert_query是一个“正常”的单一INSERT / SELECT / ...语句?
三个主要的性能优势浮现在脑海中: 1. 发送到 SQL Server 的字符串更短
2. 这使得解析时间更短
3. 执行计划提前准备好了
虽然看似微不足道,但后一点可能很重要;检查对象是否存在,字段数是否正确等。
但是,总的来说,我会说只有在连续多次调用时才重要。
在我看来,一个更重要的优势是工程方面的优势。封装。
将来,您可能会决定添加日志记录、一致性检查、业务逻辑或任何其他内容。通过将其封装在 SP 中,它将只需要在一个地方进行修改。
| 归档时间: |
|
| 查看次数: |
3975 次 |
| 最近记录: |