|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Développeur Web Inscription : avril 2007 Messages : 360 ![]() |
Salut à tous,
dans mon application j2ee je fais l'appel à cette requete : Code :
la structure des tables est la suivante : |----------------| | CHRON_RES_U | |----------------| | id_chron_res_u | | type | | id_etude | |----------------| |-------------------| | PT_CHRON_RES_U | |-------------------| | id_chron_res_u | | date_res_u | | valeur | |-------------------| |----------------| | MARGE_PERIODE | |----------------| | id_calcul | | numero_periode | | id_etude | | date_debut | | date_fin | |----------------| Voici les index présent sur la table PT_CHRON_RES_U : Code :
CREATE INDEX A_PT_CHRON_RES_U_FK ON PT_CHRON_RES_U Code :
CREATE UNIQUE INDEX PK_PT_CHRON_RES_U ON PT_CHRON_RES_U Le problème là, c'est que la dite requete prend entre 30s et 45s pour s'executer et que je dois le faire 15 fois (pour un numéro de période allant de 1 à 15), du coup je cherche à l'optimiser au max mais là, mais à part ajouter un index sur la table PT_CHRON_RES_U, sur l'id, jvois pas, car c'est cette table qui apparement pose soucis.
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales... |
||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() Inscription : août 2008 Messages : 1 690 ![]() |
Le plan n'est pas lisible, il est préférable de le récurérer via sqlplus et de le poster dans des balises codes (bouton #)
Il manque les colonnes sur lesquels portent les index. La requête ne semble pas optimisée, que donne la requête réécrite comme çà ? (déjà en terme de résultat) Code :
Code :
|
||||
|
|
10
|
|
|
#3 |
|
Membre actif
![]() Développeur Web Inscription : avril 2007 Messages : 360 ![]() |
Salut, je vais essayer de choper le plan sous un autre format, pour ce qui est de la base, on est sous du oracle 10g.
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales... |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Développeur Web Inscription : avril 2007 Messages : 360 ![]() |
Ok donc , pour les requetes que tu m'as proposé, la 1ere donne le bon résultat, mais en 320s, et la 2e, donne les bons résultats, en 14s.
Du coup pour l'instant je vais surement partir sur la seconde et revoir le code applicatif derriere. merci en tout cas :b
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales... |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : août 2008 Messages : 1 690 ![]() |
Faire un tkprof de la trace étendue serait intéressant.
Il est possible qu'un index couvrant puisse améliorer les perfs si le tkprof met en évidence une contention sur la table PT_CHRON_RES_U. Code :
CREATE INDEX IDX_CHRON_RES_id_date_val ON PT_CHRON_RES_U (id_chron_res_u, date_res_u, valeur) |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com