[Optimisation] SELECT avant un DELETE (base 10g)
Bonjour
j'ai le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| CURSOR cur_khis is
SELECT COUNT(1) nb FROM KHIS WHERE D_DAT = TRUNC(SYSDATE-1) AND E_TYP = 'P';
rl_khis cur_khis%rowtype;
BEGIN
open cur_khis;
fetch cur_khis into rl_khis;
if rl_khis.nb = 1 then
DELETE FROM KHIS WHERE D_DAT = TRUNC(SYSDATE-1) AND E_TYP = 'P';
end if;
close cur_khis; |
Et je me suis posé la question s'il était utile niveau perf de tester l'existence avant de supprimer (dans le cas d'une table très importante en volumétrie) ?
De par expérience je dis oui, mais un collègue m'a posé la même question et je n'ai su quoi lui répondre (et même lui affirmer que j'avais raison :roll:).
Quel est votre avis ?
Merci.