准备好的陈述是否明显减慢了程序?

mwa*_*ngi 6 java jdbc prepared-statement

我正在编写一个软件,要求我准备语句并设置值,执行查询并在循环中获得结果.此循环可能有超过7,000个循环.如果我使用简单语句而不是预处理语句,执行速度会大大改变吗?

这是伪代码

  1. 准备陈述
  2. 从某个地方获取一份清单
  3. 遍历列表
  4. 获取准备好的语句并执行一些db查询并关闭结果集等新资源.
  5. 使用初始列表中的结果和值填充地图

谢谢.

Eri*_*rik 8

如果您重复使用具有多组数据的相同语句,则准备好的语句比非准备语句更快.我不知道这种情况并非如此.

一旦准备好一个语句,它就会被发送到数据库服务器,然后每次调用它时只需要接受数据 - 每次绑定新数据时都不必重新处理语句.

所以简单的答案是:

不,他们没有.

  • 实际上,如果您只执行一次或两次语句,预准备语句的设置时间可能超过执行期间的增益:) (2认同)