Bonjour,
Je travaille sur une 11gR2 11.2.0.4 standard et j'ai un soucis de performance entre une vue PLUS une clause where et la requête de cette vue avec la même clause where.
La vue est complexe, je vais donc choisir de prendre un exemple très simplifié :
create view vEmp as select * from employees;
Dans le premier cas la requête d'origine avec clause WHERE va durer 0.005 secondes :
select * from employees where affectation = 'COMPTA';
Dans le second cas la requête sur la vue avec clause WHERE va durer 3 secondes :
select * from vEmp where affectation = 'COMPTA';
Ces 3 secondes représentent le temps d'exécution de la requête où la vue sans clause WHERE :
1 2
| select * from employees;
select * from vEmp; |
Y a-t-il des paramètres Oracle qui pourraient à la manière du query rewrite sur les VM faire la même action sur les vues dynamiques ?
Je ne peux créer de VM
La clause WHERE est amenée dynamiquement par un programme Java, elle change en fonction des champs remplis par le client.
Merci.
Bien cordialement,
Laurent
Partager