Parallel多线程使用
来源:互联网 发布:linux新建文本文件命令 编辑:程序博客网 时间:2024/06/05 02:05
对于一个大的任务,一般的做法是利用一个进程,串行的执行,如果系统资源足够,可以采用parallel技术,把一个大的任务分成若干个小的任务,同时启用n个进程/线程,并行的处理这些小的任务,这些并发的进程称为并行执行服务器(parallel executeion server),这些并发进程由一个称为并发协调进程的进程来管理。
启用Parallel前的忠告:只有在需要处理一个很大的任务,如需要几十分钟,几个小时的作业中,并且要有足够的系统资源的情况下(这些资源包括cpu,内存,io),您才应该考虑使用parallel。否则,在一个多并发用户下,系统本身资源负担已经很大的情况下,启用parallel,将会导致某一个会话试图占用了所有的资源,其他会话不得不去等待,从而导致系统系能反而下降的情况,一般情况下,oltp系统不要使用parallel,oltp系统中可以考虑去使用。
①查询语句中追加多线程
EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PRALLEL QUERY';
SELECT /*+ PARALLEL(table 4) */
FROM table
EXECUTE IMMEDIATE 'ALTER SESSION DISABLE PRALLEL QUERY';
②insert update delete语句中追加多线程
EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';
INSERT /*+ parallel(TBLINVRCARD_tmp,2)*/ into TBLINVRCARD_tmp select /*+ pa
rallel(TBLINVRCARD,2)*/ * from TBLINVRCARD;
EXECUTE IMMEDIATE 'ALTER SESSION DISABLE PARALLEL DML';
注意:在同一事务中,如果对表进行了变更,则不可以对同一表进行多线程
反之,对表进行了多线程操作后不能进行查询变更
- Parallel多线程使用
- 多线程并发处理的新思路:Parallel的使用
- Oracle Parallel 多线程
- Perl多线程Parallel::ForkManager
- Oracle Parallel 多线程
- Perl 多线程模块 Parallel::ForkManager
- C# Parallel 循环多线程操作
- Task+ConcurrentQueue+Parallel多线程编程
- C# 使用Parallel并行开发Parallel.For、Parallel.Foreach实例
- Oracle Parallel使用
- Parallel.Invoke 基本使用
- [深入学习C#]C#实现多线程的方式:使用Parallel类
- 在Parallel中使用DbSet.Add()发现的一系列多线程问题和解决过程
- Parallel
- 使用 Parallel NFS 增强文件系统
- 【C#基础】Parallel的使用
- C#多线程 为多核处理器而生的多线程方法Parallel.For和Parallel.ForEach
- 何时使用 Parallel.ForEach,何时使用 PLINQ
- R语言Data Frame数据框常用操作
- SSH通过 scp 拷贝文件操作
- 徐汉彬:亿级Web系统搭建——单机到分布式集群
- firefox篇
- Unity使用JsonFX插件进行序列化
- Parallel多线程使用
- Hibernate单表操作(五)——增删改查操作实例
- 开源的PaaS方案:在OpenStack上部署CloudFoundry (一)简介
- 电脑 手机页面设计尺寸
- shell 的理解及遇到的问题
- 终端通过两台路由器相互通信(静态路由设置)
- 根据上排给出十个数,在其下排填出对应的十个数
- vim基础汇总
- qt4和vs2010