Bonjour,

Je souhaiterais optimiser cette requête qui me prends du temps en instruction.
Malheureusement j'ai pas de privilège pour agir sur la base alors je ne peux que essayer de rendre la requete plus performante.


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
 
SELECT /* +PARALLEL(P, 8) */ 
    MAX (DECODE(P.NAME,'id_prestation',P.STRING_VALUE,NULL)) NUM_PRESTATION,
    MAX (DECODE(P.NAME,'date_mes',P.DATE_VALUE,NULL)) DATE_SERVICE,
    SUBSTR (MAX (DECODE(P.NAME,'row_id_produit',P.STRING_VALUE,NULL)),3) ID_SIEBEL,
    BR.EFFECTIVE_DATE AS DATE_APPLI_FACTURE,
    BR.CANCELLATION_DATE AS DATE_RESILLIATION,
    BR.EXPIRATION_DATE AS DATE_EXPIRATION,
    P1.PARTY_ID AS CF,
    P2.PARENT_ID  AS CG,
    BR.DESCRIPTION AS PRODUIT,
    BR.OFFERCODE AS OFFRE 
FROM
    PARAMETER P, BUSINESS_RELATIONSHIP BR, PARTY P1, PARTY P2, BR_PARAMETERS_CHRONOLOGY BPC
WHERE 
    BR.OID=BPC.OWNER_ID
    AND BPC.OBJECT_OID = P.PARAMETERS_SET_ID 
    AND BR.DEBTOR = P1.PARTY_ID
    AND P1.PARENT_ID=P2.PARTY_ID
GROUP BY
BR.EFFECTIVE_DATE, BR.CANCELLATION_DATE, BR.EXPIRATION_DATE, P1.PARTY_ID, P2.PARENT_ID, BR.DESCRIPTION, BR.OFFERCODE
;

Merci d'avance pour votre aide.