Bonjour à tous
tout d'abord voici la requete incriminé :
secondo, voici le plan d'exécution que j'obtiens pour cette requete :
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
21
22
23 SELECT * FROM ( SELECT VALEUR.ID_VALEUR, REF1.LIBELLE AS L1, REF2.LIBELLE AS L2, REF3.LIBELLE AS L3, PRODUIT.LIBELLE AS L4, PRODUIT.IDENTIFIANT_PRODUIT, VALEUR.VALEUR, TO_CHAR(VALEUR.DATE_VALEUR,'YYYYMMDDHH24MISS'), VALEUR.LST_STATUT, TO_CHAR(VALEUR.DATE_DEBUT_STATUT,'YYYYMMDDHH24MISS'), PRODUIT.ID_PRODUIT,VALEUR.REF_CREATEUR, VALEUR.LST_FLAG_VIVANT, row_number() over (order by VALEUR.ID_VALEUR) as ligne FROM VALEUR, PRODUIT, CATALOGUE.REFERENTIEL REF1, CATALOGUE.REFERENTIEL REF2, CATALOGUE.REFERENTIEL REF3 WHERE VALEUR.DATE_FIN_STATUT IS NULL AND VALEUR.ID_PRODUIT = PRODUIT.ID_PRODUIT AND PRODUIT.REF_SOURCE=REF1.ID_REF AND PRODUIT.REF_UNITE=REF2.ID_REF AND PRODUIT.REF_DIFFUSEUR=REF3.ID_REF AND VALEUR.ID_VALEUR>'44948237' AND PRODUIT.ID_PRODUIT IN( SELECT PRODUIT.ID_PRODUIT FROM PRODUIT, CATALOGUE.REFERENTIEL REF1, ISEDOM.PLUGIN_PERIMETRE_REPLICATION PREP WHERE PRODUIT.REF_SOURCE=REF1.ID_REF AND REF1.LIBELLE = PREP.SOURCE AND PREP.APPLICATION='PLUGIN' AND PRODUIT.IDENTIFIANT_PRODUIT LIKE PREP.PRODUIT ) ) WHERE ligne<=1000;
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
21
22
23
24
25 --------------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Pstart| Pstop | --------------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 21494 | 6192K| 11805 | | | | 1 | VIEW | | 21494 | 6192K| 11805 | | | | 2 | WINDOW SORT PUSHED RANK | | 21494 | 3463K| 11805 | | | | 3 | HASH JOIN | | 21494 | 3463K| 11019 | | | | 4 | TABLE ACCESS FULL | REFERENTIEL | 263 | 3156 | 3 | | | | 5 | HASH JOIN | | 21284 | 3180K| 11015 | | | | 6 | TABLE ACCESS FULL | REFERENTIEL | 263 | 3156 | 3 | | | | 7 | HASH JOIN | | 21284 | 2930K| 11011 | | | | 8 | TABLE ACCESS FULL | REFERENTIEL | 263 | 3156 | 3 | | | | 9 | HASH JOIN SEMI | | 22186 | 2794K| 11008 | | | | 10 | HASH JOIN | | 22514 | 2550K| 5868 | | | | 11 | PARTITION HASH ALL | | 22514 | 901K| 5102 | 1 | 10 | | 12 | TABLE ACCESS BY GLOBAL INDEX ROWID| VALEUR | 22514 | 901K| 5102 | ROWID | ROWID | | 13 | INDEX RANGE SCAN | PK_VALEUR | 33532 | | 96 | 1 | 10 | | 14 | TABLE ACCESS FULL | SERIE | 89621 | 6564K| 336 | | | | 15 | VIEW | VW_NSO_1 | 2986K| 37M| 1401 | | | | 16 | HASH JOIN | | 2986K| 182M| 1401 | | | | 17 | TABLE ACCESS FULL | PLUGIN_PERIMETRE_REPLICATION | 53197 | 1454K| 71 | | | | 18 | HASH JOIN | | 90508 | 3181K| 340 | | | | 19 | TABLE ACCESS FULL | REFERENTIEL | 263 | 3156 | 3 | | | | 20 | TABLE ACCESS FULL | SERIE | 89621 | 2100K| 335 | | | ---------------------------------------------------------------------------------------------------------------------------
Lorsque j'exécute cette requête, elle met environ 13 minute.
Sur une autre base , elle à peine 13 secondes
Sauriez vous m'aider à voir d ou vient le probléme ou du moins une piste pour analyser le probleme
Merci
Partager