Oracle的并行DML?
Oracle的并行DML?
我来答
添加附件
收藏
复制链接
微信扫码分享

在小程序上查看
分享
添加附件
问题补充
1条回答
默认
最新
Oracle文档将并行DML(PDML)一词的范围限制为只包括INSERT、UPDATE、DELETE和MERGE(不像平常的DML那样还包括SELECT)。在PDML期间,Oracle可以使用多个并行执行服务器来执行INSERT、UPDATE、DELETE或MERGE,而不是只利用一个串行进程。在一个有充足I/O带宽的多CPU主机上,对于大规模的DML操作,可能会得到很大的速度提升。
不过,不能把PDML当成提高OLTP应用速度的一个特性。并行操作设计为要充分、完全地利用一台机器上的所有资源。通过这种设计,一个用户可以完全使用机器上的所有磁盘、CPU和内存。在某些数据仓库中(有大量数据,而用户很少),这可能正是想要的;而在一个OLTP系统中(大量用户都在做很短、很快的事务),可能就不希望如此了,你不会让一个用户占用整个机器所有资源。
这听上去好像有些矛盾:我们使用并行查询是为了扩展,它怎么可能是不可扩展的呢?不过要知道,应用到一个OLTP系统时,这种说法确实很正确。并行查询不能随着并发用户数的增加而扩展。并行查询的设计目的是允许一个会话被拆分为100个并发会话去工作。但在OLTP系统中,我们肯定不希望把一个小的事务拆分为100个会话。
PDML在大型数据仓库环境中很有用,它有利于大量数据的批量更新。类似于Oracle执行的分布式查询,PDML操作采用同样的方式执行,即每个并行执行服务器相当于一个单独数据库实例中的一个进程。表的每一部分(每一片)由一个单独的线程利用其自己的独立事务来修改(相应地这个线程可能有自己的undo段)。这些事务都结束后,会执行一个相当于快速两阶段事务(2-Phase Commit,2PC)的过程来提交这些单独的独立事务。


打赏 0

回答交流
Markdown
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
添加图片链接
上传图片
导航目录
Markdown语法参考
请输入正文
提示
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~

55M
ORACLE 11.2.0 触发器 获取 空间属性的wkt格式,使用 sde.st_astext 函数,数据错乱
25M
求Cylance杀毒软件安装包测试数据库安全
25M
PostgreSQL ERROR: found xmin 2146512304 from before relfrozenxid 2146512317
10M
clickhouse 查询视图需要给基表的权限,有什么办法能场查视图不能查表呢?
10M
oracle apex是否可以使用nfc功能,以及录像保存功能
10M
视图v$sql_cs_selectivity 同一个RANGE_ID之下出现了同一个微词的重复记录。
10M
一个update 语句行锁升级 触发bug导致死锁myql宕机?请大佬帮忙分析下更具体原因
10M
时区升级
10M
Goldengate源端PDB,被克隆替代后,重新配置麻烦,有无其它方便,高效方法,恢复Goldengate?
10M
OGG使用COLMAP部分字段不同步问题