Bonjour à tous,
Sur Oracle9iR2,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT SUBSTR(conso.other_party,1,5)||chr(9)||SUM(conso.call_duration)||chr(9)||SUM(conso.call_cost)||chr(9)||call_type||chr(9)||cust.tarsid
FROM ppc_sim_cust cust, PPC_CONSO_PAIR conso
WHERE conso.msisdn=cust.msisdn
AND conso.imsi=cust.imsi
AND TO_CHAR(call_start,'mm')='&2'
GROUP BY SUBSTR(conso.other_party,1,5), conso.call_type, cust.tarsid;
Les colonnes call_start et conso.other_party c’est des colonnes indexées, malheureusement sont négligés, et le temps de réponse de la requête met beaucoup de temps, pour l’optimiser, Je veux que les 2 indexes soient utilisés:

1/ la clause :TO_CHAR(call_start,'mm')='&2' , j’ai essayé de le transformer en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
call_start between  to_date('01/02/2007','DD/MM/YYYY') and to_date('28/02/2007','DD/MM/YYYY')
.---> quelqu’un à une idée meilleure que la mienne ?

mais la deuxième clause ---> je n’ai pas d’idée particuliére?


2/ Pour ces deux clauses j’ai pensé a recréer l’index de fonction,
Mais je pense qu’il ya des pré requis au niveau de la base ? Pourriez-vous svp m’expliquer ?

Merci d’avance pour votre aide,