Bonjour,
Je souhaite optimiser des requêtes SQL et après avoir optimisé la transcription fonctionnelle du code (pour certains SQL) et l'ajout d'index, j'ai débuté l'analyse des plans via le tuning que propose Oracle.
Précision je ne suis pas DBA et sans formation particulière Oracle, juste un apprentissage sur le tas lors de mes différents projets pro...
Donc pour une requête précise, ci-dessous et générée par un progiciel donc je n'ai pas la main dessus, qui prend beaucoup de temps pour seulement 20 000 enregistrements, je souhaite lancer le "profiling".
Le problème c'est qu'en passant par SQLDeveloper (SQL Tuning Advisor) ou en créant une tache d'analyse manuellement, la réponse est la suivante "Type d'instruction SQL non pris en charge."
Seconde précision, j'ai lancé des taches d'analyse pour des SQL plus complexes et avec des sous requêtes et çà passe sans problème, donc là je sèche
Avez-vous une idée du pourquoi et si oui comment résoudre ce blocage ?
Merci pour vos retours
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
26
27
28
29
30
31
32
33
34
35
36 UPDATE S_ADDR_PER BT SET (ADDR, ADDR_LINE_2, ADDR_LINE_3, ADDR_LINE_4, CITY, ZIPCODE, PER_ID) = (SELECT IT.AP_ADDR, IT.AP_ADDR_LINE_2, IT.AP_ADDR_LINE_3, IT.AP_ADDR_LINE_4, IT.AP_CITY, IT.AP_ZIPCODE, IT.T_ADDR_PER_PER_ID FROM EIM_ADDR_PER IT WHERE (IT.T_ADDR_PER__RID = BT.ROW_ID AND IF_ROW_BATCH_NUM = 2072040000 AND IF_ROW_STAT_NUM = 0 AND T_ADDR_PER__EXS = 'Y' AND T_ADDR_PER__UNQ = 'Y' AND T_ADDR_PER__STA = 0)), DB_LAST_UPD = '2019-05-22 11:01:20', DB_LAST_UPD_SRC = 'EIM', LAST_UPD = '2019-05-22 11:01:20', LAST_UPD_BY = '1-ZH2', MODIFICATION_NUM = MODIFICATION_NUM + 1 WHERE (ROW_ID IN (SELECT T_ADDR_PER__RID FROM EIM_ADDR_PER WHERE (IF_ROW_BATCH_NUM = 2072040000 AND IF_ROW_STAT_NUM = 0 AND T_ADDR_PER__EXS = 'Y' AND T_ADDR_PER__UNQ = 'Y' AND T_ADDR_PER__STA = 0)))
Partager