Bonjour,
je suis une brêle en SQL.
dans un trigger sous Oracle j'ai deux requêtes à la suite:
UPDATE magasin mag
SET mag.dernier_statut = :new.CDSTATUT ,
mag.lb_statut = :new.LBSTATUT
WHERE mag.CODE_COMPLET = (substr(:old.LBSTATUT, 27, 20) );
et
select mag.region_fk
INTO region_id
from magasin mag
where mag.CODE_COMPLET = (substr(:old.LBSTATUT, 27, 20) );
CODE_COMPLET est VARCHAR et il y a un index dessus.
Je dois l'optimiser et il y a quelques questions que je me (vous) pose.
- serait-il plus rapide d'effectuer les deux recherches sur la clé primaire de MAGASIN?
- y a-t-il un moyen de ne pas rechercher deux fois la même ligne (une fois pour un update et une fois pour un select)? Si oui, cela améliorerait les performances?
Merci pour votre aide
Partager