[Oracle 9] variable hôte dans une vue
Bonjour,
J'ai deux vues A(X,Y,Z) et B(X,Y,Z), ainsi qu'une 3ème vue C(X,Y,Z), construite par :
Code:
1 2 3 4
| CREATE OR REPLACE VIEW C(X,Y,Z) AS
SELECT * FROM A
MINUS
SELECT * FROM B |
En pratique, je n'utilise la vue C que pour une valeur donnée :
Code:
1 2 3
| SELECT *
FROM C
WHERE X = 'val' |
Le problème, c'est que mes deux tables A et B sont énormes (plusieurs millions de données). Si je ne filtre que dans la vue C, je fais la soustraction de 2 tables énormes, puis je filtre le résultat obtenu.
Alors que si je pouvais filtrer la table A, puis la table B, la soustraction serait immédiate.
Y a t-il un moyen pour remonter la valeur (comme pour une variable hôte) jusqu'aux vues A et B, pour que la vue C soit optimisée ?
Merci