jdbc执行sql的奇怪问题,请大家解惑

for_cyan 2008-12-11 01:58:57
最近遇到一个奇怪的问题,一个sql语句在sql查询分析器中执行时间不到2秒,但是在项目中用了spring的jdbc对数据库进行查询时间却超过10秒,用来sql事件探查器跟踪后,发现前者扫描数据不到2万条,后者在事件探查器却成了存储过程来执行扫描了80万条数据。找不到原因,

jdbc的语句转换成了存储过程,这个是我奇怪的地方,把那个自动生成的存储过程来执行时间也是10几秒
取出的数据才10几条而已
项目中所有的sql语句,用事件探查器跟踪后都变成了存储过程来执行,很奇怪
...全文
130 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu_zhaoqf 2008-12-26
  • 打赏
  • 举报
回复
难道框架会把你的语句封装成临时的存储过程来执行,那有点得不偿失吧,明摆着在浪费时间嘛
cupid198436 2008-12-26
  • 打赏
  • 举报
回复
延迟加载的问题。

因为两种方法操作的数据量明显不同,所以推测是主外键导致了过多数据被加载。
fengyifei11228 2008-12-11
  • 打赏
  • 举报
回复
那你查一下那10秒时间都在什么地方给浪费了
在执行SQL语句前查一下时间,执行后查一下时间
看看是SQL的问题还是程序的问题
for_cyan 2008-12-11
  • 打赏
  • 举报
回复
把生成的临时存储过程拿到查询分析器中执行时间和之前的sql语句有差距,前者是10秒,后者2秒
lanzhengwu 2008-12-11
  • 打赏
  • 举报
回复
在查询分析器和项目中是一样的..十秒的原因应该是程序代码有些糟糕还是哪里有问题吧 ..
至于在事件探查器中看到存储过程也很正常 ..你查询分析器中执行的话也应该会一样。.

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧