Bonjour
Voila, j'ai une requete qui m'embete pas mal, elle a tournée pendant environ 15 heures et ne s'est jamais terminée.
La voici
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T.*, SP.ITM_SELLING_PRICE
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 FROM table T, table1 G, table2 SP WHERE SP.ITM_BUSN_GRP_ID = G.ITM_BUSN_GRP_ID AND G.ITM_ID = T.ITM_ID AND G.BUSN_GROUP_ID = T.BUSN_GROUP_ID AND EXISTS (SELECT 1 FROM table1 G, table2 SP WHERE SP.ITM_BUSN_GRP_ID = G.ITM_BUSN_GRP_ID AND G.ITM_ID = T.ITM_ID AND G.BUSN_GROUP_ID = T.BUSN_GROUP_ID );
Bon quelque précision, l'explain plan de la requete est tres bon et optimisé, il y a des index ou il faut et le cout total de la requete est de 11 (c'est ce que me dit sqldevelloper).
Mes tablespace ne sont pas plein (ni le TEMP, ni aucun autre)
Et la chose la plus étrange c'est que lorsque je lance cette requete (j'ai changé par un select * au lieu de le faire que sur certaines colonnes)
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 SELECT * FROM table T, table1 G, table2 SP WHERE SP.ITM_BUSN_GRP_ID = G.ITM_BUSN_GRP_ID AND G.ITM_ID = T.ITM_ID AND G.BUSN_GROUP_ID = T.BUSN_GROUP_ID AND EXISTS (SELECT 1 FROM table1 G, table2 SP WHERE SP.ITM_BUSN_GRP_ID = G.ITM_BUSN_GRP_ID AND G.ITM_ID = T.ITM_ID AND G.BUSN_GROUP_ID = T.BUSN_GROUP_ID );
La requete prend environ 3 secondes et retourne 0 ligne (ce qui est normal)....
J'ai essayé de redemarrer la base de données, rien n'y fait...
A savoir table contient 2.600.000 lignes, table 1, 900.000 et table2, 1.000.000
Enfin si vous aviez un idée qui pourrait m'aider car je dois absolument executer cette requete (la premiere).
Merci,
Partager