为什么即使有并列提示,并列提示也不起作用?
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 很小,因此可以快速阅读,并且无论如何,到客户端的数据传输都需要单线程(否则您需要多个客户端连接)。
我第一次尝试使用'PARALLEL'提示,但是当我看到执行计划时,并没有发生并行处理。
这里是代码和执行计划。
SELECT /*+ PARALLEL(SCORE 4) */
*
FROM SCORE;
我了解到如果并行处理成功,'PX COORDINATOR'操作必须写在执行计划中,但正如您在图像中看到的那样,没有'PX COORDINATOR'操作。
在这种情况下,为什么我写了并行提示也没有并行处理?
我怎样才能成功地进行并行处理?
如果你能给我一些建议,我将不胜感激。
(我使用的是 oracle 11g。)
对于 2601(预期)行,不值得并行处理查询。拆分查询,运行 并行并在之后合并结果需要更长的时间。
除此之外,Oracle 还必须知道在何处以及如何拆分操作。 table 有索引吗?如果不是,Oracle 怎么知道在哪里可以拆分操作以进行并行处理?
您使用的是什么版本? XE 无法访问并行性(这在 11g 中是合理的 XE 无论如何只能使用单核)。
最新版本 18c XE 可以使用两个 cpu 内核,但并行度限制仍然存在。幸运的是,您的查询可能不会从并行性中获益太多 - table 很小,因此可以快速阅读,并且无论如何,到客户端的数据传输都需要单线程(否则您需要多个客户端连接)。