Oracle DB 中的并行提示

问题描述 投票:0回答:1

我想在我的选择查询中使用并行提示来提高性能。但是这个 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>
oracle optimization append hint
1个回答
0
投票

假设你的

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');
© www.soinside.com 2019 - 2024. All rights reserved.