Pendant longtemps, j'ai utilisé la clause EXISTS
pour déterminer si au moins un enregistrement existe dans une table donnée pour une condition donnée. par exemple - si je voulais voir si un employé par lastname = « Smith » existe dans la table « employé », j'ai utilisé la requête suivanteClause Oracle EXISTS Vs ROWNUM = 1
select 1
into v_exists_flag
from dual
where exists (select 1
from employee
where lastname = 'smith'
)
Ceci est nettement plus efficace que d'utiliser le compte (*) clause.
select count(*)
into v_count
from employee
where lastname = 'smith'
si v_count> 0 alors ....
Mais, récemment quelqu'un a dit que l'utilisation ROWNUM = 1 a de meilleures performances que d'utiliser la clause EXISTS comme indiqué ci-dessous
select 1
into v_count
from employee
where lastname = 'smith'
and rownum = 1
Est-ce correct? Quelqu'un peut-il confirmer cela?
Merci à l'avance
Merci à vous deux (Stephen et Przemyslaw)! – user2836468
Salut Przemyslaw - Je viens de lire l'article d'Adam Musch. Accoridng à son poste - aucune différence significative, si la colonne est indexée. – user2836468
Je suis désolé - je l'ai envoyé par erreur. – user2836468