社区
Oracle
帖子详情
oracle 的多线程问题
vber1010
2010-06-12 10:23:23
假设过程A 里面中有个dml的操作会触发一个触发器,这个触发器里面的过程B和过程A中剩下的工作是并行的还是串行执行的? 我做了个简单的实验发现Oracle并没有新开线程来执行触发器里的过程。 而且当我将触发器用“独立事务”的方式替代后从得到的结果来看也并没开新线程,也就是说独立事务和调用独立事务的事务也不是并行的。
实验很简单,不知道得到的结论对不对,请高手指点一下。
...全文
134
3
打赏
收藏
oracle 的多线程问题
假设过程A 里面中有个dml的操作会触发一个触发器,这个触发器里面的过程B和过程A中剩下的工作是并行的还是串行执行的? 我做了个简单的实验发现Oracle并没有新开线程来执行触发器里的过程。 而且当我将触发器用“独立事务”的方式替代后从得到的结果来看也并没开新线程,也就是说独立事务和调用独立事务的事务也不是并行的。 实验很简单,不知道得到的结论对不对,请高手指点一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iihero_
2010-06-12
打赏
举报
回复
[Quote=引用 2 楼 vber1010 的回复:]
谢谢楼上的回答 有没有开新线程的执行的例子? 我的那个触发器里要执行的过程很费时,不想等待这个过程执行完了再执行父过程剩余的东西,怎么好?
[/Quote]
也许可以通过实现一个外部存储过程(java或c实现),在实现部分创建一个新的线程并执行,结束以后通过pipe message发送一个通知给管道。你在后来的调用里头通过询问管道,可以得到完成的通知。
过程是有点别扭,但估计可行。
vber1010
2010-06-12
打赏
举报
回复
谢谢楼上的回答 有没有开新线程的执行的例子? 我的那个触发器里要执行的过程很费时,不想等待这个过程执行完了再执行父过程剩余的东西,怎么好?
iihero_
2010-06-12
打赏
举报
回复
都是blocking方式执行的,也就是说都是串行同步执行的。不会创建新线程。
Oracle
入门课程
01、
Oracle
介绍02、表空间、用户、授权03、DDL数据定义语言04、DML数据操纵语言05、JDBC CRUD操作06、
Oracle
简单查询07、
Oracle
伪列08、
Oracle
聚合函数09、
Oracle
关联查询、子查询10、
Oracle
分页11、
Oracle
单行函数12、
Oracle
集合运算13、
Oracle
视图14、
Oracle
序列15、
Oracle
索引16、
Oracle
基本语法17、
Oracle
数据类型18、
Oracle
变量19、
Oracle
运算符20、
Oracle
条件控制21、
Oracle
循环22、
Oracle
循环控制23、
Oracle
字符串24、
Oracle
数组25、
Oracle
存储过程26、
Oracle
函数27、
Oracle
游标28、
Oracle
触发器
Oracle
Parallel
多线程
一、Parallel 1. 用途 强行启用并行度来执行当前SQL。这个在
Oracle
9i之后的版本可以使用,之前的版本现在没有环境进行测试。也就是说,加上这个说明,可以强行启用
Oracle
的
多线程
处理功能。举例的话,就像电脑装了多核的CPU,但大多情况下都不会完全多核同时启用(2核以上的比较明显),使用parallel说明,就会多核同时工作,来提高效率。 但本身启动这个功能,也是要消耗资
oracle
数据库开
多线程
,
Oracle
12c 新特性之
多线程
数据库操作
之前我们学习
Oracle
基础的时候,有一个概念,叫多进程和
多线程
。在Unix/Linux等环境下面。数据库是以多进程的方式运行的,当一个会话连接进来,就会通过监听,然后在服务器上创建一个进程。而在Windows上面它是以
多线程
的方式来运行的。一个进程有很多个thread线程。而在12c这个版本上面,
Oracle
在Unix/Linux平台上做出了一些改变,引入了
多线程
的方式。通过参数threaded...
使用
多线程
Callable查询
oracle
数据库
java
多线程
查
oracle
数据库
oracle
多线程
调用过程,
oracle
存储过程
多线程
场景:利用
oracle
的存储过程实现在sys_sequence表中的多个的自动增长ID的
多线程
同步解决方案利用
oracle
的存储过程实现sys_sequence表的自动增长ID的
多线程
同步解决方案sys_sequence表结构sys_sequence表中的记录DECLAREno NUMBER(10);key VARCHAR(50);beginkey := ?;begin select lastid...
Oracle
17,078
社区成员
55,233
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章