
正文
oracle存储过程支持并发,oracle存储过程用到了哪些表
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Oracle存储过程并发执行,受什么影响
如果过程里面是修改表的话,有可能造成死锁,这种机率是非常小的,一般情况下,是会出现锁等待,在上一次调用COMMIT或者rollback的情况下,才会成功执行过程里面的语句。
你这样属于2个事务在操作一个表。如果表中有唯一键,会有一个过程失败的。如果没有唯一键,会写入20000条记录。但是如果存储过程里操作的表是动态传进去的。如果表名不同,同时执行多个这个存储过程是没有影响的。
由此可见,当一个高并发的系统,出现了热点数据页需要从磁盘上加载到buffer pool中时,造成的延迟,是难以想象的。
对于多线程调用存储过程是没有问题的,但可能存在存储过程所处理的表产生并发冲突,CPU资源占用多通常是磁盘读写多,建议在DB负担重时查一下哪些表被锁,然后对存储过程进行优化。
所谓的oracle存储过程,无非就是把大量的SQL集中在一起加入了变量循环等。简单地看它就也就是对几个数据库对象的访问。
长事务可能会对其他SQL操作产生一定的影响。在Oracle数据库中,长事务是指执行时间较长的事务,特别是那些涉及大量数据操作或跨多个表的事务。
相关问答
Q1: oracle存储过程如何并行?
1、job其实上也只是分别调用这几个过程来执行,而不是靠执行一个A就可以让所有A1 2 3 4 并行执行的。 如果A1 2 3 4都是需要参数的话,那么你也只有用A分开给每一个都传递参数,否则的话也是不能并行执行的。
2、如果指定或请求了并行执行,但是没有指定DOP,默认DOP会设置为该系统上CPU内核数量的两倍。对于RAC系统,DOP值会是整个集群内核数量的两倍。默认值是由配置参数“PARALLEL_ THREADS_PER_CPU”控制的。
3、设立主键。根据唯一性数据库自动判别。笨的方法:建议采用信号量。
4、并行DDL:并行DDL是指Oracle能并行地执行大规模的DDL操作。例如,索引重建、创建一个新索引、数据加载以及大表的重组等都可以使用并行处理。并行恢复:这是指数据库能并行地执行实例(甚至介质)恢复,以减少从故障恢复所需的时间。
5、可以利用java或其它开发工具编写多线程来执行存储过程,这样你可以完成你的复杂控制。
Q2: Oracle存储过程并发问题
1、设立主键。根据唯一性数据库自动判别。笨的方法:建议采用信号量。
2、这个问题非常简单 所谓的oracle存储过程,无非就是把大量的SQL集中在一起加入了变量循环等。简单地看它就也就是对几个数据库对象的访问。
3、对于多线程调用存储过程是没有问题的,但可能存在存储过程所处理的表产生并发冲突,CPU资本占用多平日是磁盘读写多,建议在DB包袱重时查一下哪些表被锁,然后对存储过程进行优化。
关于oracle存储过程支持并发和oracle存储过程用到了哪些表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








