0

我正在尝试并行运行 Oracle SQL 查询,但它拒绝这样做。我的数据库参数是:

fast_start_parallel_rollback         string      LOW
parallel_adaptive_multi_user         boolean     TRUE
parallel_automatic_tuning            boolean     FALSE
parallel_degree_level                integer     100
parallel_degree_limit                string      CPU
parallel_degree_policy               string      AUTO
parallel_execution_message_size      integer     16384
parallel_force_local                 boolean     TRUE
parallel_instance_group              string
parallel_io_cap_enabled              boolean     FALSE
parallel_max_servers                 integer     8
parallel_min_percent                 integer     0
parallel_min_servers                 integer     0
parallel_min_time_threshold          string      AUTO
parallel_server                      boolean     FALSE
parallel_server_instances            integer     1
parallel_servers_target              integer     8
parallel_threads_per_cpu             integer     2
recovery_parallelism                 integer     0

我尝试了以下会话语句:

alter session set parallel_degree_policy = 'AUTO';
alter session force parallel QUERY parallel 4;
alter session enable parallel query;

我尝试了以下 SQL 提示:

/*+ parallel(auto) */
/*+ parallel(4) */
/*+ parallel */

我正在使用以下查询检查并行性:

select *
from   v$sql_plan_monitor
where  sid = 4019
and    status = 'EXECUTING';
select SQL_TEXT, PX_SERVERS_EXECUTIONS, EXECUTIONS,
(PX_SERVERS_EXECUTIONS/EXECUTIONS) AS AVG_PQ_EXEC
from V$SQL where SQL_ID = 'a6g8hcgatapky';

我正在使用一个运行 40 分钟的复杂 SQL 语句。谁能告诉我我做错了什么以及为什么我的查询没有并行运行。

4

0 回答 0