问题描述
嗨,
我需要在Archival DB上的某些表上执行MERGE语句。,语句看起来像
合并/* 并行 (tb_test,pin_max_process) */进入tb_test @ db_link tgt
使用 (选择/* 并行 (tb_test,pin_max_process) */ * 来自tb_test
其中ROWID介于v_from和v_至之间) src
开 (条件 ..)
当匹配时,然后
更新
设置 ..
当不匹配时
插入 (插入tgt)
值 (insert_src );
你能解释一下有什么区别吗-
如果我们按现在的方式执行上述合并命令 (即并行提示)?
和
ALTER SESSION ENABLE PARALLEL DML then execute MERGE comm和with PARALLEL hint??
我需要在Archival DB上的某些表上执行MERGE语句。,语句看起来像
合并/* 并行 (tb_test,pin_max_process) */进入tb_test @ db_link tgt
使用 (选择/* 并行 (tb_test,pin_max_process) */ * 来自tb_test
其中ROWID介于v_from和v_至之间) src
开 (条件 ..)
当匹配时,然后
更新
设置 ..
当不匹配时
插入 (插入tgt)
值 (insert_src );
你能解释一下有什么区别吗-
如果我们按现在的方式执行上述合并命令 (即并行提示)?
和
ALTER SESSION ENABLE PARALLEL DML then execute MERGE comm和with PARALLEL hint??
专家解答
并行运行查询可以通过提示或基于表/索引定义自动完成。
但是要并行进行 * 更改 *,我们需要采取一些特殊步骤才能做到这一点。所以我们需要你告诉我们你的会议想要这样做。
因此命令:
ALTER会话启用并行DML
如果您不运行该评论,那么我们将很乐意让您指定
合并/* 并行 */
但是我们 * 不会 * 并行运行更改。我们仍然可以并行运行组成合并的 * 查询 *,但是 * 更改 * 将以串行方式完成。
因此,如果您想并行进行更改... 您需要先更改会话。
但是要并行进行 * 更改 *,我们需要采取一些特殊步骤才能做到这一点。所以我们需要你告诉我们你的会议想要这样做。
因此命令:
ALTER会话启用并行DML
如果您不运行该评论,那么我们将很乐意让您指定
合并/* 并行 */
但是我们 * 不会 * 并行运行更改。我们仍然可以并行运行组成合并的 * 查询 *,但是 * 更改 * 将以串行方式完成。
因此,如果您想并行进行更改... 您需要先更改会话。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




