读书笔记:并行 DML:批量数据修改的“超级加速器”

news/2025/11/10 17:16:18/文章来源:https://www.cnblogs.com/www-htz-pw/p/19207671

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。

本文为个人学习《Expert Oracle Database Architecture Techniques and Solutions for High Performance and Productivity(第四版本》一书过程中的笔记与理解分享,仅用于学习与交流,部分内容参考原书观点并结合>实际经验进行整理。若涉及版权问题,请联系删除或沟通处理。也请大家支持购买原版书籍。

并行 DML:批量数据修改的“超级加速器”

想象一下,你需要更新一个包含上亿条记录的大表中的数据。如果让一个“工作人员”逐条更新,就像让一个人独自粉刷一栋摩天大楼,耗时极长。而并行 DML 的功能,就是瞬间召唤出一支“施工队”,同时粉刷大楼的不同楼层,从而将工期缩短数倍甚至数十倍。

一、什么是并行 DML?

并行 DML 是 Oracle 企业版中的一项强大功能,它允许数据库在执行大规模的数据操作时(主要是 INSERTUPDATEDELETEMERGE),调用多个“并行执行服务器”(相当于多个工作人员)同时工作,而不是只靠一个串行进程。

核心价值:

  • 在多 CPU、高 I/O 带宽的服务器上,对海量数据进行批量修改时,可以带来巨大的性能提升。
  • 主要应用于数据仓库环境,用于完成那些需要处理 TB 级别数据的后台作业。

二、重要警告:为什么它不适合 OLTP 系统?

这是一个关键点:请绝对不要试图在 OLTP 系统(如网站、交易系统)中用并行 DML 来加速日常操作。

原因很简单:
并行 DML 的设计目标是让单个任务吃掉机器的所有资源(CPU、内存、I/O)。在 OLTP 系统中,有成百上千的用户同时在执行短小、快速的事务。如果允许其中一个用户开启并行 DML,就相当于让一个人开着一辆巨型推土机闯入了繁忙的都市街道——他会瞬间堵死所有交通,导致其他所有用户的请求都陷入停滞。

所以,请牢记:并行 DML 是为处理“大任务”的数据仓库准备的,而不是为服务“多用户”的交易系统设计的。

三、并行 DML 是如何工作的?

Oracle 采用了一种“伪分布式”的巧妙方式来执行并行 DML,其工作原理可以概括为 “分而治之,统一提交”

工作流程如下:

  1. 任务分割:Oracle 将待更新的大表在物理上划分为多个不重叠的“片”。
  2. 并行处理:每个“并行执行服务器”负责处理其中一片数据。关键在于,每个服务器都在自己独立的数据库事务中工作,拥有自己独立的撤销空间(UNDO)。这就像多个独立的施工队,各自负责一层楼,互不干扰。
  3. 结果汇总:当所有并行执行服务器都完成自己的工作后,一个扮演“总指挥”(协调会话)的角色会执行一个类似“两阶段提交”的快速操作,要么全部提交所有独立事务,要么全部回滚

一个生动的比喻:
这就像让 10 个作者合写一本书,每人负责一个章节。最后由主编统稿。如果主编觉得所有章节都合格,就一起出版(提交);如果有一章不合格,则整本书都不出版(回滚)。

四、如何使用与验证并行 DML?

与并行查询不同,仅仅把表设置为并行是不够的,你必须在会话中显式启用它

-- 步骤1:在你的会话中打开并行 DML 开关
ALTER SESSION ENABLE PARALLEL DML;-- 步骤2:执行你的 DML 语句(例如大规模更新)
UPDATE big_table SET status = 'done';

为什么需要显式启用?
因为并行 DML 存在不少限制(下面会讲),Oracle 需要你明确知晓并同意这些条件后才使用它。

如何验证它真的在并行工作?
你可以通过查询数据字典来确认。例如,执行上述操作后,可以查看:

SELECT name, value FROM v$statname a, v$mystat b
WHERE a.statistic# = b.statistic# AND name LIKE '%parallel%';

如果输出中 DML statements parallelized 的值为 1,就证明刚才的 UPDATE 语句确实以并行方式执行了。

五、并行 DML 的主要限制

由于其独特的工作方式(多个独立事务),并行 DML 不能在所有场景下使用。以下是主要的限制:

  1. 不支持触发器:触发器会引入额外开销,与 PDML 追求极致速度的目标背道而驰。
  2. 部分约束不支持:例如,不支持“自引用完整性”约束,否则容易引发死锁。
  3. 修改后无法立即查询:在提交或回滚 PDML 事务之前,你不能在同一个会话里查询你刚刚修改过的表,否则会报错 ORA-12838
  4. 不支持高级复制:因为高级复制的实现依赖于触发器。
  5. 不支持延迟约束
  6. 对特殊对象的限制
    • 对于有位图索引LOB 列的表,通常要求表必须是分区的才能使用 PDML,并且并行度不能超过分区数。
    • (注意:从 Oracle 12c 开始,对未分区的 SecureFiles LOB 的支持有所放宽)。
  7. 不支持分布式事务
  8. 不支持簇表

如果违反了这些限制,Oracle 要么会退而求其次,以串行方式执行你的语句(不再并行),要么直接报错。

六、注意:别把“并行查询”当成“并行 DML”

一个常见的误解是,看到执行计划里有并行操作,就以为是并行 DML。例如,你可能看到这样的计划:

| 1 |  UPDATE              | BIG_TABLE  |     |      |            |
| 2 |   PX COORDINATOR     |            |     |      |            |
| 3 |    PX SEND QC (RANDOM)| :TQ10000  | Q1,00| P->S | QC (RAND)  |
| 4 |     TABLE ACCESS FULL| BIG_TABLE | Q1,00| PCWP |            |

这个计划的意思是:读取表数据(TABLE ACCESS FULL)的过程是并行的,但真正执行更新(UPDATE)操作本身是串行的。这属于并行查询辅助串行 DML,并非真正的并行 DML。

总结

  • 定位:并行 DML 是 Oracle 为数据仓库中超大规模批量数据修改量身定做的“超级武器”。
  • 优势:通过将工作分发给多个并行进程,充分利用硬件资源,极大缩短作业时间。
  • 禁忌严禁在 OLTP 系统中使用,否则会因资源独占而引发系统级性能灾难。
  • 使用:必须显式启用,并注意其诸多限制,特别是修改后不能立即查询。

正确使用并行 DML,能让您在数据仓库的夜间批处理窗口中游刃有余;但若滥用,则后果严重。

------------------作者介绍-----------------------
姓名:黄廷忠
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/961581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年镀锌钢格板品牌推荐排行榜单

2025年镀锌钢格板品牌推荐排行榜单前言随着工业建设的快速发展,镀锌钢格板作为重要的建筑材料,在各行各业中发挥着不可替代的作用。2025年,随着技术的不断进步和市场的日益成熟,镀锌钢格板行业也呈现出新的发展态势…

高端UI设计公司的“审美模型”:如何让界面更有记忆点?

高端UI设计公司的“审美模型”:如何让界面更有记忆点?在 UI 设计同质化严重的当下,“好看” 已不再是高端界面的核心竞争力,“有记忆点” 才是 —— 用户可能会忘记某款产品的功能细节,却会对 “独特的视觉感受、…

低代码高频实践场景系列之一——EHS系统

本文作者:得帆信息联合创始人兼CTO徐翔轩 EHS建设正在成为“必答题” 过去几年,随着国家监管要求趋严、审计频率增加、企业社会责任强化,内部安全管理要求不断细化,EHS系统在很多行业内的存在感明显提升。无论是制…

2025年提分系统系统怎么选

2025年提分系统怎么选?想象力智能中高考助你精准提效随着教育科技的快速发展,2025年的提分系统市场呈现出百花齐放的态势。面对众多选择,如何挑选真正适合自己的提分系统成为学生和家长关注的焦点。今天,我们就来探…

2025年智能中高考加盟电话供应商怎么选择

如何选择2025年智能中高考加盟供应商?想象力教育科技为您支招随着教育信息化的快速发展,智能中高考市场迎来了前所未有的发展机遇。选择合适的加盟供应商成为众多教育从业者关注的焦点。作为行业领军品牌,想象力教育…

2025年11月10日

java迟到了 注意一点半来教室

2025年想象力教育科技有限公司推荐口碑排行

2025年想象力教育科技有限公司:教育科技领域的口碑标杆在2025年的教育科技领域,想象力教育科技有限公司凭借其卓越的产品实力和技术创新,稳居行业口碑排行榜前列。经过21年的持续创新与发展,公司已建立起完善的教育…

GPS北斗卫星授时器:安徽京准提速时空精准网络

GPS北斗卫星授时器:安徽京准提速时空精准网络GPS北斗卫星授时器:安徽京准提速时空精准网络 GPS北斗卫星授时器:安徽京准提速时空精准网络 京准电子科技官微——ahjzsz 安徽京准电钟电子科技有限公司的GPS北斗卫星授…

2025年肃宁双十一眼镜品牌权威推荐榜单:眼镜/眼睛价格/眼镜店品牌精选

随着肃宁双十一消费季的临近,本地眼镜市场的品牌关注度正持续上升。眼镜作为矫正视力的医疗工具与日常用品,其验光精准度、镜片功能性及配镜服务的专业性直接关系到消费者的视觉健康与佩戴体验。为帮助肃宁消费者做出…

2025年半导体封装锡膏定制厂家口碑推荐

2025年半导体封装锡膏定制厂家口碑推荐:国通科技值得信赖随着半导体行业的快速发展,半导体封装对锡膏产品的性能要求越来越高。在众多锡膏厂家中,苏州国通科技有限公司凭借其专业的技术实力和优质的产品质量,在业内…

线性特征和非线性特征

这个区分很关键,核心结论是:线性特征是“数据规律呈直线/平面关系,可直接叠加”,非线性特征是“数据规律呈曲线/复杂关系,无法简单叠加”,深度学习的核心就是捕捉非线性特征。 1. 线性特征:简单直接的“比例关系…

2025年锡熔液抗氧化还原粉厂家排行榜

2025年锡熔液抗氧化还原粉厂家排行榜随着电子制造业的快速发展,锡熔液抗氧化还原粉作为提高焊接质量、降低生产成本的关键材料,其市场需求持续增长。经过对产品质量、技术创新、客户口碑等多维度评估,我们为您带来2…

详细介绍:【mysql】in 用到索引了吗?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

算法系列教程:1. BFS求无向无权图最短路径

示例图BFS示例代码 function bfsShortestPath(graph, start, end) {const queue = [[start]];const visited = new Set([start]);while (queue.length > 0) {const path = queue.shift();const node = path[path.le…

ESP-IDF引用自定义组件头文件失败

ESP-IDF引用自定义组件头文件失败如题,折腾一番,在网上看了在工程里面创建新组件的内容,有说不需要修改main组件中的CMakeLists.txt,看了一些开源工程也没看见在这边做修改,最后终于结合着一位up主的评论(espidf…

2025年靠谱的装修品牌权威推荐

摘要 随着装修行业的快速发展,消费者对透明化、标准化和售后保障的需求日益增长。2025年,装修市场更加注重口碑和服务质量,本文基于权威数据和用户反馈,整理了当前靠谱的装修品牌排名前十榜单,并提供详细表单供参…

[Python刷题记录]-合并区间-普通数组/二维数组-中等

[Python刷题记录]-合并区间-普通数组/二维数组-中等链接:56. 合并区间 - 力扣(LeetCode) 详见官方题解。按照左端排序,如果新的元素的左端点大于当前的右端点,纳入当前。如果新的元素的左端点小于当前的右端点,可…

word导出图表 - IT

word导出图表package com.bjs.glasses.controller.test;import org.apache.poi.util.Units; import org.apache.poi.xddf.usermodel.chart.*; import org.apache.poi.xwpf.usermodel.*; import org.openxmlformats.sch…

2025年国内装修工程队排名:徐州领先企业一站式服务解析

文章摘要 随着装修行业的快速发展,2025年徐州及国内装修市场注重口碑、工艺和售后保障。本文基于行业数据,解析前十强装修工程队排名,重点推荐一站式服务优势。排名表单供用户参考,助力选择可靠装修伙伴。摘要部分…

2025年评价高的学习能力少儿训练品牌选哪家

2025年推荐:德一书院少儿训练品牌,培养卓越学习能力的不二之选在2025年众多少儿训练品牌中,德一书院凭借其独特的"138成长体系"和深厚的教育底蕴,成为培养少儿学习能力的首选品牌。以下是推荐理由:德一…