请教在ORACLE中多个JOB同时执行的效率和对数据库影响问题

ty_work 2010-02-22 08:45:39
我在做移动的一些投诉信息的处理,因为种类非常多,对每类数据都要进行比对,发现问题后马上报警,并发送消息给客服。我的想法是对每类数据的比对建一个JOB,估计5分钟执行一次,总共加起来可能有20到50个,我的问题就是假设最大化来说,50个JOB同时执行,对数据库的执行有没有什么影响?我想ORACLE数据处理这样的并行操作应该没问题吧,至于机器性能应该是足够的。大家有什么好的建议也请提供参考一下。
还有像这样的比对任务,是通过数据库的JOB调用存储过程来执行比较好,还是通过一个后台的服务程序来定时比对比较好呢,如果我启用触发器,对每条数据进入都触发存储过程来进行比较那样会不会对数据库影响很大呢?
...全文
705 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiyousyc 2010-02-23
  • 打赏
  • 举报
回复
理论上肯定没有问题。
但你必须处理好并发和锁的问题。
qq871549589 2010-02-23
  • 打赏
  • 举报
回复
五十个JOB并行对系统肯定会有影响,如果要五分钟执行一次,可以把五十个JOB在五分钟内
分配会好一些
BlueskyWide 2010-02-23
  • 打赏
  • 举报
回复
建议供参考:
1.同时执行五十个JOB,Oracle原则上没问题的,但并行处理时系统开销太大,且效率不太高,不如在五分钟之内均匀地分配时间来执行JOB,这样便于流水式作业,使得有的JOB在执行完成系统资源回收后,其它的JOB才开始按时执行;
2.数据库层次执行Object应该效率最高,所以通过数据库的JOB调用存储过程来执行比较好;

ty_work 2010-02-23
  • 打赏
  • 举报
回复
inthirties这位师兄是从业务扩展来考虑,我考虑的是数据库和系统性能,我觉得用存储过程来实现应该是效率更好吧
ty_work 2010-02-23
  • 打赏
  • 举报
回复
锁的问题到是不存在,因为都是查询和比对,我觉得就算50各并发,应该也不算是大数目啊,不可能50个并发都不能处理哦
inthirties 2010-02-23
  • 打赏
  • 举报
回复
个人建议用后台程序来处理比较好。比较应用可以更方便的进行扩展。
ty_work 2010-02-22
  • 打赏
  • 举报
回复
而且这些JOB运行的每类数据都会与一张基本表进行比对,那就有可能同一时间50个并发来对同一张表进行查询比对
ty_work 2010-02-22
  • 打赏
  • 举报
回复
在一个JOB里就不能并行执行了啊,只能多个JOB各执行各的,主要是怕数据库撑不住,因为这个比对太频繁量也大
YY_MM_DD 2010-02-22
  • 打赏
  • 举报
回复
个人认为第一种方式可取。。。友情UP
jdsnhan 2010-02-22
  • 打赏
  • 举报
回复
我认为没问题,不过有个以为,为什么要对每类数据的对比都建立一个JOB呢。job调用的是过程,能否在过程中处理不同类别的数据,这样,可以减少job的数量。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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