Quelle est la meilleure façon (en ce qui concerne les performances) de définir une valeur sur variable?
Par
SET
commande:DECLARE @VarString nvarchar(max); SET @VarString = 'john doe'; SELECT @VarString;
Par
SELECT
commande:DECLARE @VarString nvarchar(max); SELECT @VarString = 'john doe'; SELECT @VarString;
SELECT
est plus rapide lors de l' attribution de valeurs à plusieurs variables à la fois . Sinon, la différence de performances est négligeable.SET
c'est plus rapide, puis à mi-chemin, il ajoute: "Curieusement, si vous augmentez le nombre de courses pour dire, 10, leSET
commence à prendre du retard."Réponses:
Ne choisissez pas l'un ou l'autre strictement pour la performance.
Choisissez en fonction de ce qui convient à votre style et à vos besoins de développement, comme indiqué dans la conclusion de cette excellente comparaison entre
SELECT
etSET
(accentuation et mise en forme mineures ajoutées):la source
Je pense que le consensus est qu'il y a une différence de performance négligeable entre les deux (avec
SET
être plus rapide). Mais si vous êtes comme moi, j'utiliserais leSET
cas échéant à des fins de lisibilité. Le prochain gars qui maintiendra votre code vous en remerciera ;-)la source
J'utilise toujours SET sauf si je remplis plusieurs variables à partir du jeu de résultats de 1 requête. De cette façon, en utilisant SELECT, nous ne questionnons la table qu'une seule fois.
la source