为什么即使有并列提示,并列提示也不起作用?

Why does parallel hint not work even if there is a parallel hint?

我第一次尝试使用'PARALLEL'提示,但是当我看到执行计划时,并没有发生并行处理。

这里是代码和执行计划。

SELECT /*+ PARALLEL(SCORE 4) */
        *
FROM SCORE;

我了解到如果并行处理成功,'PX COORDINATOR'操作必须写在执行计划中,但正如您在图像中看到的那样,没有'PX COORDINATOR'操作。

在这种情况下,为什么我写了并行提示也没有并行处理?

我怎样才能成功地进行并行处理?

如果你能给我一些建议,我将不胜感激。

(我使用的是 oracle 11g。)

对于 2601(预期)行,不值得并行处理查询。拆分查询,运行 并行并在之后合并结果需要更长的时间。

除此之外,Oracle 还必须知道在何处以及如何拆分操作。 table 有索引吗?如果不是,Oracle 怎么知道在哪里可以拆分操作以进行并行处理?

您使用的是什么版本? XE 无法访问并行性(这在 11g 中是合理的 XE 无论如何只能使用单核)。

最新版本 18c XE 可以使用两个 cpu 内核,但并行度限制仍然存在。幸运的是,您的查询可能不会从并行性中获益太多 - table 很小,因此可以快速阅读,并且无论如何,到客户端的数据传输都需要单线程(否则您需要多个客户端连接)。