在开启并行创建索引时,实际消耗的数据库并行线程是双倍。
create index ind_qid on crm_detail(queue_id,gmt_create) parallel 6 tablespace tbs_ind ONLINE;
上面的sql以并行6来创建索引,6个并行用于获取数据,6个并行用于索引。从下面的视图中也可以获取相关信息。对应的qcsid为603
SID SERIAL# QCSID QCSERIAL# QCINST_ID SERVER_GROUP SERVER_SET SERVER# DEGREE REQ_DEGREE
----- ---------- ---------- ---------- ---------- ------------ ---------- ---------- ---------- ----------
1360 34534 1360
537 17838 1360 34534 1 1 1 1 4 8
583 6982 1360 34534 1 1 1 2 4 8
747 10018 1360 34534 1 1 1 3 4 8
532 28145 1360 34534 1 1 1 4 4 8
603 58749 603
780 32071 603 58749 1 1 1 1 6 6
754 14332 603 58749 1 1 1 2 6 6
502 63681 603 58749 1 1 1 3 6 6
590 46158 603 58749 1 1 1 4 6 6
653 26832 603 58749 1 1 1 5 6 6
783 25546 603 58749 1 1 1 6 6 6
584 27449 603 58749 1 1 2 1 6 6
749 3704 603 58749 1 1 2 2 6 6
762 8393 603 58749 1 1 2 3 6 6
596 13055 603 58749 1 1 2 4 6 6
740 25279 603 58749 1 1 2 5 6 6
640 3699 603 58749 1 1 2 6 6 6
---
查询当前系统开启的最大并行数
>show parameter paral
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
parallel_max_servers integer 16
当sql请求的最大并行度超过系统可用的并行数时,系统自动将剩余的并行数给该请求
在上面的视图中可以看到QCSID为1360的进程请求的平行度为8,但是系统只剩下4个并行数可以分配,以此degree为4
QCSID:13360 SQL: create table tmp_table as select /*+ parallel(t,8) */ * from crm_users t;
This work is licensed under a CC A-S 4.0 International License.