如何解决为什么即使有并行提示,并行提示也不起作用?
我第一次尝试使用'PARALLEL'hint,但是当我看到执行计划时,并没有发生并行处理。
这是代码和执行计划。
SELECT /*+ PARALLEL(SCORE 4) */
*
FROM SCORE;
我了解到,如果并行处理成功进行,则必须将“PX COORDINATOR”操作写入执行计划,但正如您在图片中所见,没有“PX COORDINATOR”操作。
在这种情况下,为什么即使我写了并行提示也不会发生并行处理?
我怎样才能成功地进行并行处理?
如果您能给我一些建议,我将不胜感激。
(我使用的是 oracle 11g。)
解决方法
你用的是什么版本? XE 无法访问并行性(在 11g 中这是明智的,XE 无论如何只能使用单核)。
最新版本的 18c XE 可以使用两个 cpu 内核,但并行度限制仍然存在。幸运的是,您的查询可能不会因并行而受益 - 表很小,因此读取速度很快,并且无论如何都需要单线程传输到客户端的数据(否则您需要多个客户端连接)。
,对于 2601(预期)行,并行处理查询是不值得的。拆分查询、并行运行并随后合并结果将需要更长的时间。
除此之外,Oracle 还必须知道在何处以及如何拆分操作。你有这张表的索引吗?如果没有,Oracle 怎么知道可以将操作拆分到哪里进行并行处理?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。