Bonjour à tous,
Sur Oracle9iR2,
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
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,
Partager