Bonjour mes amis;

je souhaite optimiser ma requête en terme de temps de réponse, qui fait appel à plusieurs vues, voici le corps :

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
37
38
39
40
41
42
43
44
45
46
( SELECT A, B , C , D , E , F
FROM VIEW_A
 
UNION
 
SELECT A, B , C , D , E , F
FROM VIEW_B  )
 
VIEW_A :
 
WITH Abs_A( SELECT A, B , C , D , E , F
                            FROM TABLE_A ....................***
                            WHERE ...
                            AND 
                            AND ...),
WITH Abs_B( SELECT A, B , C , D , E , F
                            FROM TABLE_B
                            WHERE ...
                            AND 
                            AND ...)
SELECT A, B , C , D , E , F
FROM Abs_A NATURAL JOIN Abs_B
WHERE ...
AND 
AND ...
 
----
 
 
VIEW_B :
 
WITH Abs_A( SELECT A, B , C , D , E , F
                            FROM TABLE_A....................***
                            WHERE ...
                            AND 
                            AND ...),
WITH Abs_B( SELECT A, B , C , D , E , F
                            FROM TABLE_C
                            WHERE ...
                            AND 
                            AND ...)
SELECT A, B , C , D , E , F
FROM Abs_A NATURAL JOIN Abs_B
WHERE ...
AND 
AND ...