Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Rudi Bruchez
Nathan NAU a écrit:
SqlServer a t'il le bon sens de reduir t1 avec la clause WHERE avant la jointure
Salut,
Oui, l'optimiseur de SQL Server a beaucoup de bon sens. Si tu écris du code propre, il sait très bien quoi faire. En cas de doute, tu peux regarder le plan d'exécution estimé en sélectionnant ton SELECT dans Query Analyzer / SSMS, et appuyer sur CTRL+L
-- Rudi Bruchez, MCDBA http://www.babaluga.com/
Nathan NAU a écrit:
SqlServer a t'il le bon sens de reduir t1 avec la clause WHERE avant la
jointure
Salut,
Oui, l'optimiseur de SQL Server a beaucoup de bon sens. Si tu écris du code
propre, il sait très bien quoi faire.
En cas de doute, tu peux regarder le plan d'exécution estimé en
sélectionnant ton SELECT dans Query Analyzer / SSMS, et appuyer sur CTRL+L
SqlServer a t'il le bon sens de reduir t1 avec la clause WHERE avant la jointure
Salut,
Oui, l'optimiseur de SQL Server a beaucoup de bon sens. Si tu écris du code propre, il sait très bien quoi faire. En cas de doute, tu peux regarder le plan d'exécution estimé en sélectionnant ton SELECT dans Query Analyzer / SSMS, et appuyer sur CTRL+L
-- Rudi Bruchez, MCDBA http://www.babaluga.com/
Philippe T [MS]
Bonjour,
Oui. Par contre attention avec des LEFT ou RIGHT join a explicitement réduire les enregistrements dans la table lié et non dans la clause WHERE sinon on n'obtient pas ce que l'on veut.
Phil. ________________________________________________________ Philippe TROTIN Microsoft Services France http://www.microsoft.com/france "Nathan NAU" wrote in message news:%
Bonjour
J'ai un question sur les jointures. Si j'ai :
SELECT * FROM t1 INNER JOIN t2 ON t1.idT1 = t2.idT2 WHERE t1.actif = 1
SqlServer a t'il le bon sens de reduir t1 avec la clause WHERE avant la jointure ou vaut il mieux ecrire :
SELECT * FROM (SELECT * FROM t1 WHERE t1.actif = 1) t1 INNER JOIN t2 ON t1.idT1 = t2.idT2
Nathan
Bonjour,
Oui. Par contre attention avec des LEFT ou RIGHT join a explicitement
réduire les enregistrements dans la table lié et non dans la clause WHERE
sinon on n'obtient pas ce que l'on veut.
Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Nathan NAU" <nathan@actisens.com> wrote in message
news:%23UQ72MUkGHA.3536@TK2MSFTNGP05.phx.gbl...
Bonjour
J'ai un question sur les jointures. Si j'ai :
SELECT *
FROM t1
INNER JOIN t2
ON t1.idT1 = t2.idT2
WHERE t1.actif = 1
SqlServer a t'il le bon sens de reduir t1 avec la clause WHERE avant la
jointure ou vaut il mieux ecrire :
SELECT *
FROM (SELECT * FROM t1 WHERE t1.actif = 1) t1
INNER JOIN t2
ON t1.idT1 = t2.idT2
Oui. Par contre attention avec des LEFT ou RIGHT join a explicitement réduire les enregistrements dans la table lié et non dans la clause WHERE sinon on n'obtient pas ce que l'on veut.
Phil. ________________________________________________________ Philippe TROTIN Microsoft Services France http://www.microsoft.com/france "Nathan NAU" wrote in message news:%
Bonjour
J'ai un question sur les jointures. Si j'ai :
SELECT * FROM t1 INNER JOIN t2 ON t1.idT1 = t2.idT2 WHERE t1.actif = 1
SqlServer a t'il le bon sens de reduir t1 avec la clause WHERE avant la jointure ou vaut il mieux ecrire :
SELECT * FROM (SELECT * FROM t1 WHERE t1.actif = 1) t1 INNER JOIN t2 ON t1.idT1 = t2.idT2