Bonjour,

Je voudrais tester le parallélisme sur ma base mais visiblement ça ne passe pas car le plan d'exécution est "classique".

J'ai d'abord vérifié les paramètres liés au parallélisme et surtout parallel_degree_policy qui vaut AUTO.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
show parameter parallel
 
fast_start_parallel_rollback         string   LOW
parallel_adaptive_multi_user         boolean  TRUE
parallel_automatic_tuning            boolean  FALSE
parallel_degree_limit                string   CPU
parallel_degree_policy               string   AUTO
parallel_execution_message_size      integer  16384
parallel_force_local                 boolean  FALSE
parallel_instance_group              string   
parallel_io_cap_enabled              boolean  FALSE
parallel_max_servers                 integer  0
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  0
parallel_threads_per_cpu             integer  2
recovery_parallelism                 integer  0

Je lance une requête sur une table de plus de 50 millions d'enregistrements et je vois un plan d'exécution où rien n'indique qu'on utilise le parallélisme.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
EXPLAIN PLAN FOR select /*+ PARALLEL(auto) */ * from BODYMSG ;
SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE',NULL,'TYPICAL'));
 
Explain complete.
 
PLAN_TABLE_OUTPUT                                                               
--------------------------------------------------------------------------------
 
-------------------------------------------------------------                   
| Id  | Operation         | Name    | Rows  | Bytes | Cost  |                   
-------------------------------------------------------------                   
|   0 | SELECT STATEMENT  |         |    55M|    60G|    12M|                   
|   1 |  TABLE ACCESS FULL| BODYMSG |    55M|    60G|    12M|                   
-------------------------------------------------------------                   
 
Note                                                                            
-----                                                                           
   - 'PLAN_TABLE' is old version                                                
 
11 rows selected.
D'après Google j'aurai dû avoir des lignes comme ça dans mon plan...
Est-ce que vous pouvez me dire quelle étape j'ai loupé pour activer le parallélisme?
PX COORDINATOR
PX SEND QC
PX RECEIVE
PX SEND RANGE
PX BLOCK ITERATOR

Bonne journée à vous tous.