有关oralce plsql 运行时间的疑问,请帮忙解惑

liubin041102 2012-03-23 09:06:03
1.oralce plsql 存储过程 循环处理数据,(插入更新还有其他一些逻辑),数据量大概1000万
2.使用job 调起来的,连续执行了两遍(第二遍执行,因为所有数据都已经存在,所以只做update以及其它逻辑)
3.第一次用时7小时,第二次用时1小时


我的疑惑就是为什么两次执行时间相差这么大
...全文
73 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolkisses 2012-03-23
  • 打赏
  • 举报
回复
如上所说,oracle的机制保证了后续数据再处理的性能提升。
但是,如果只是做一次操作,楼主的循环处理就变得很不能让人满意了。
yinan9 2012-03-23
  • 打赏
  • 举报
回复
这就是PL/SQL相比普通SQL的优势
存储在服务器端,大大提升后续的执行效率
yixilan 2012-03-23
  • 打赏
  • 举报
回复
1.因为两次的操作不一样;
2.因为第一次JOB执行时,需要把用到的SQL放到buffer里,数据库来解析;
第二次JOB执行时,大量的重复的SQL已经在Buffer里,不需要重新解析了。就省了一些时间。
liubin041102 2012-03-23
  • 打赏
  • 举报
回复
数据量太大,并且处理逻辑稍微复杂些。

效率上是比较痛心啊,有经验的 帮忙指点一下,小弟在此谢过

17,377

社区成员

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

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