我想在我的选择查询中使用并行提示来提高性能。但是这个 select 语句在 from 子句中包含多个表。我们如何在 select 语句中使用并行提示。
INSERT INTO /*+APPEND */ ITEM
(
)
SELECT a FROM GTT_LINE p, GTT_LINE_XY r
Where <condition>
UNION
SELECT a FROM GTT_LINE p, GTT_LINE_XY r
Where <condition>
假设你的
PARALLEL_MAX_SERVERS
值是80。那么你可以使用它:
INSERT INTO /*+APPEND */ ITEM
(
)
SELECT /*+ PARALLEL(p, 8) PARALLEL(r, 16) */ a
FROM GTT_LINE p, GTT_LINE_XY r
Where <condition>
UNION
SELECT /*+ PARALLEL(p, 8) PARALLEL(r, 16) */ a
FROM GTT_LINE p, GTT_LINE_XY r
Where <condition>
注意:
8
和16
之和不能超过80
的最大值。
要检查最大值,您必须以 SYS 或 SYSDBA 身份登录并运行下一个命令:
SELECT name, value FROM v$parameter WHERE name IN ('parallel_max_servers', 'parallel_execution_enabled');