Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1426 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Ordre des tests dans un IF (SQL Server)

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ordre des tests dans un IF (SQL Server)

n°2306465
origami
Posté le 09-10-2017 à 15:11:16  profilanswer
 


Bonjour,
 
 Dans une procédure TSQL, j'ai un IF avec plusieurs conditions. Du genre :
 
 IF (Condition_1 AND Condition_2 AND Condition_3)
    BEGIN
       ...
 END
 
Sur ces 3 conditions, une d'elle utilise une fonction qui est assez (voire très) lente.
Les 2 autres conditions sont assez rapides.
 
Ma question est la suivante :
 Comment SQL Server fait pour ce IF ?  Est-ce qu'il vérifie chaque condition, ou comme c'est un "AND", il teste la première condition, et si c'est TRUE, la seconde, et ainsi de suite ?
 
En d'autres termes, je souhaite éviter que SQL server vérifie la condition la plus lente si l'une des 2 autres conditions (les plus rapides) est à FALSE.
 
 Je sais que je pourrais faire qq chose comme ça :
 IF (Condition_1 AND Condition_2)   -- Les 2 conditions rapides
    BEGIN
       IF  Condition_3
           BEGIN
              ...
           END
 END
 
Mais ce n'est pas très joli.
Est-ce que l'ordre des Conditions dans un IF est important ? SQL Server suit-il l'ordre des Conditions, ou il fait ce qu'il a envie de faire ?
Est-ce qu'on peut forcer l'ordre des conditions ?
 
La question est aussi valable pour une condition OR :
 IF (Condition_rapide OR Condition_Lente)
    BEGIN
       ...
 END
 
Je veux éviter que SQL ne vérifie les 2 conditions. Si la condition rapide est TRUE, alors, pas besoin de tester la Condition_Lente.
 
Merci de vos conseils.


---------------
Les montres sans aiguilles Origami Watches sont disponibles : www.origami.watch.
mood
Publicité
Posté le 09-10-2017 à 15:11:16  profilanswer
 

n°2306490
TotalRecal​l
Posté le 10-10-2017 à 10:43:53  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Ordre des tests dans un IF (SQL Server)

 

Sujets relatifs
[Java/SQL] JPA et contraintes de clef etrangereLanceur de requête SQL pour gain de temps en recette
Remplacer le contenu d'une colonne dans ma base de donnée SQLSAP SQL Importer un fichier excel
[RÉGLÉ] [SQL] Jointure pour afficher un avatarSAP SQL
processeur + requete SQLPhp et SQL Server
Problème "UPDATE" SQL 
Plus de sujets relatifs à : Ordre des tests dans un IF (SQL Server)


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR