T1A cl=E9 primaire de T1
T3A cl=E9 primaire de T3
#T1A,#T3A cl=E9 primaire de T2
Les trois tables poss=E8dent quelques millions=20
d'enregistrements.
Je veux r=E9unir les trois tables selon deux crit=E8res sur=20
les tables T1 et T3.
Solution 1
Select
T1B
From
T1, T2, T3
Where=20
T1C=3D 'toto' And
T3C=3D'titi' And
T1.T1A=3DT2.T1A and
T3.T3A=3DT2.T3A ;
Solution 2
Select
T1B
From
T1, T2, T3
Where=20
T1.T1A=3DT2.T1A and
T3.T3A=3DT2.T3A and
T1C=3D 'toto' And
T3C=3D'titi' ;
La solution 1 est elle plus rapide que la deux en temps=20
machine.
Est-il vrai de dire qu'il est plus rapide d'effectuer les=20
filtres sur T1C et T3C et de r=E9aliser les jointures apr=E8s=20
(solution 1).
Existe-t-il un site permettant de donner l'essentiel de=20
l'optimisation ?
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
lionelp
Bonjour,
L'optimiseur se débrouille, l'ordre des prédicats n'a pas d'importance. L'aide en ligne est un bon début pour trouver des infos sur l'optimiseur et ce qu'il est capable de faire. Ensuite il y a msdn.microsoft.com qui en contient un peu plus et est régulièrement mis à jour.
Cordialement, LionelP
-----Message d'origine----- Bonjour,
Excusez moi si le propos de ce mail est hors sujet pour ce forum.
T1A clé primaire de T1 T3A clé primaire de T3 #T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions d'enregistrements.
Je veux réunir les trois tables selon deux critères sur les tables T1 et T3.
Solution 1 Select T1B From T1, T2, T3 Where T1C= 'toto' And T3C='titi' And T1.T1A=T2.T1A and T3.T3A=T2.T3A ;
Solution 2 Select T1B From T1, T2, T3 Where T1.T1A=T2.T1A and T3.T3A=T2.T3A and T1C= 'toto' And T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps machine. Est-il vrai de dire qu'il est plus rapide d'effectuer les filtres sur T1C et T3C et de réaliser les jointures après (solution 1).
Existe-t-il un site permettant de donner l'essentiel de l'optimisation ?
Merci pour les réponses.
Merci pour les réponses
.
Bonjour,
L'optimiseur se débrouille, l'ordre des prédicats n'a pas
d'importance.
L'aide en ligne est un bon début pour trouver des infos
sur l'optimiseur et ce qu'il est capable de faire. Ensuite
il y a msdn.microsoft.com qui en contient un peu plus et
est régulièrement mis à jour.
Cordialement,
LionelP
-----Message d'origine-----
Bonjour,
Excusez moi si le propos de ce mail est hors sujet pour
ce forum.
T1A clé primaire de T1
T3A clé primaire de T3
#T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions
d'enregistrements.
Je veux réunir les trois tables selon deux critères sur
les tables T1 et T3.
Solution 1
Select
T1B
From
T1, T2, T3
Where
T1C= 'toto' And
T3C='titi' And
T1.T1A=T2.T1A and
T3.T3A=T2.T3A ;
Solution 2
Select
T1B
From
T1, T2, T3
Where
T1.T1A=T2.T1A and
T3.T3A=T2.T3A and
T1C= 'toto' And
T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps
machine.
Est-il vrai de dire qu'il est plus rapide d'effectuer les
filtres sur T1C et T3C et de réaliser les jointures après
(solution 1).
Existe-t-il un site permettant de donner l'essentiel de
l'optimisation ?
L'optimiseur se débrouille, l'ordre des prédicats n'a pas d'importance. L'aide en ligne est un bon début pour trouver des infos sur l'optimiseur et ce qu'il est capable de faire. Ensuite il y a msdn.microsoft.com qui en contient un peu plus et est régulièrement mis à jour.
Cordialement, LionelP
-----Message d'origine----- Bonjour,
Excusez moi si le propos de ce mail est hors sujet pour ce forum.
T1A clé primaire de T1 T3A clé primaire de T3 #T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions d'enregistrements.
Je veux réunir les trois tables selon deux critères sur les tables T1 et T3.
Solution 1 Select T1B From T1, T2, T3 Where T1C= 'toto' And T3C='titi' And T1.T1A=T2.T1A and T3.T3A=T2.T3A ;
Solution 2 Select T1B From T1, T2, T3 Where T1.T1A=T2.T1A and T3.T3A=T2.T3A and T1C= 'toto' And T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps machine. Est-il vrai de dire qu'il est plus rapide d'effectuer les filtres sur T1C et T3C et de réaliser les jointures après (solution 1).
Existe-t-il un site permettant de donner l'essentiel de l'optimisation ?
Merci pour les réponses.
Merci pour les réponses
.
Coeurgan
Je pense que tes deux requètes vont prendre le même temps, sql server a un mécanisme qui va se charger de les remettre dans l'ordre le plus rapide.
Ce que tu peux faire par contre qui donne souvent des bons résultats (ce n'est pas automatique bien sur, et je me demande si ca ne correspond pas à ce que fait l'optimiseur intégré) c'est de modifier ta syntaxe de manière à insérer tes conditions dans les conditions de jointures.
ca donnerait ca sur ton exemple :
Select T1B From T1 inner join T2 on T1.T1A=T2.T1A And T1C= 'toto' inner join T3 on T3.T3A=T2.T3A And T3C='titi'
Selon la sélectivité de tes conditions (toto et titi) tu peux obtenir des bons résultats, meilleurs je crois que si tu ajoute les conditions de jointure dans la clause WHERE.
A vérifier, tiens nous au courant...
++
"jlrous" a écrit dans le message de news:138c601c443fa$da8e2450$ Bonjour,
Excusez moi si le propos de ce mail est hors sujet pour ce forum.
T1A clé primaire de T1 T3A clé primaire de T3 #T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions d'enregistrements.
Je veux réunir les trois tables selon deux critères sur les tables T1 et T3.
Solution 1 Select T1B From T1, T2, T3 Where T1C= 'toto' And T3C='titi' And T1.T1A=T2.T1A and T3.T3A=T2.T3A ;
Solution 2 Select T1B From T1, T2, T3 Where T1.T1A=T2.T1A and T3.T3A=T2.T3A and T1C= 'toto' And T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps machine. Est-il vrai de dire qu'il est plus rapide d'effectuer les filtres sur T1C et T3C et de réaliser les jointures après (solution 1).
Existe-t-il un site permettant de donner l'essentiel de l'optimisation ?
Merci pour les réponses.
Merci pour les réponses
Je pense que tes deux requètes vont prendre le même temps, sql server a un
mécanisme qui va se charger de les remettre dans l'ordre le plus rapide.
Ce que tu peux faire par contre qui donne souvent des bons résultats (ce
n'est pas automatique bien sur, et je me demande si ca ne correspond pas à
ce que fait l'optimiseur intégré) c'est de modifier ta syntaxe de manière à
insérer tes conditions dans les conditions de jointures.
ca donnerait ca sur ton exemple :
Select
T1B
From
T1
inner join T2 on T1.T1A=T2.T1A And T1C= 'toto'
inner join T3 on T3.T3A=T2.T3A And T3C='titi'
Selon la sélectivité de tes conditions (toto et titi) tu peux obtenir des
bons résultats, meilleurs je crois que si tu ajoute les conditions de
jointure dans la clause WHERE.
A vérifier, tiens nous au courant...
++
"jlrous" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:138c601c443fa$da8e2450$a501280a@phx.gbl...
Bonjour,
Excusez moi si le propos de ce mail est hors sujet pour
ce forum.
T1A clé primaire de T1
T3A clé primaire de T3
#T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions
d'enregistrements.
Je veux réunir les trois tables selon deux critères sur
les tables T1 et T3.
Solution 1
Select
T1B
From
T1, T2, T3
Where
T1C= 'toto' And
T3C='titi' And
T1.T1A=T2.T1A and
T3.T3A=T2.T3A ;
Solution 2
Select
T1B
From
T1, T2, T3
Where
T1.T1A=T2.T1A and
T3.T3A=T2.T3A and
T1C= 'toto' And
T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps
machine.
Est-il vrai de dire qu'il est plus rapide d'effectuer les
filtres sur T1C et T3C et de réaliser les jointures après
(solution 1).
Existe-t-il un site permettant de donner l'essentiel de
l'optimisation ?
Je pense que tes deux requètes vont prendre le même temps, sql server a un mécanisme qui va se charger de les remettre dans l'ordre le plus rapide.
Ce que tu peux faire par contre qui donne souvent des bons résultats (ce n'est pas automatique bien sur, et je me demande si ca ne correspond pas à ce que fait l'optimiseur intégré) c'est de modifier ta syntaxe de manière à insérer tes conditions dans les conditions de jointures.
ca donnerait ca sur ton exemple :
Select T1B From T1 inner join T2 on T1.T1A=T2.T1A And T1C= 'toto' inner join T3 on T3.T3A=T2.T3A And T3C='titi'
Selon la sélectivité de tes conditions (toto et titi) tu peux obtenir des bons résultats, meilleurs je crois que si tu ajoute les conditions de jointure dans la clause WHERE.
A vérifier, tiens nous au courant...
++
"jlrous" a écrit dans le message de news:138c601c443fa$da8e2450$ Bonjour,
Excusez moi si le propos de ce mail est hors sujet pour ce forum.
T1A clé primaire de T1 T3A clé primaire de T3 #T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions d'enregistrements.
Je veux réunir les trois tables selon deux critères sur les tables T1 et T3.
Solution 1 Select T1B From T1, T2, T3 Where T1C= 'toto' And T3C='titi' And T1.T1A=T2.T1A and T3.T3A=T2.T3A ;
Solution 2 Select T1B From T1, T2, T3 Where T1.T1A=T2.T1A and T3.T3A=T2.T3A and T1C= 'toto' And T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps machine. Est-il vrai de dire qu'il est plus rapide d'effectuer les filtres sur T1C et T3C et de réaliser les jointures après (solution 1).
Existe-t-il un site permettant de donner l'essentiel de l'optimisation ?
T1A clé primaire de T1 T3A clé primaire de T3 #T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions d'enregistrements.
Je veux réunir les trois tables selon deux critères sur les tables T1 et T3.
Solution 1 Select T1B From T1, T2, T3 Where T1C= 'toto' And T3C='titi' And T1.T1A=T2.T1A and T3.T3A=T2.T3A ;
Solution 2 Select T1B From T1, T2, T3 Where T1.T1A=T2.T1A and T3.T3A=T2.T3A and T1C= 'toto' And T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps machine. Est-il vrai de dire qu'il est plus rapide d'effectuer les filtres sur T1C et T3C et de réaliser les jointures après (solution 1).
Existe-t-il un site permettant de donner l'essentiel de l'optimisation ?
T1A clé primaire de T1
T3A clé primaire de T3
#T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions
d'enregistrements.
Je veux réunir les trois tables selon deux critères sur
les tables T1 et T3.
Solution 1
Select
T1B
From
T1, T2, T3
Where
T1C= 'toto' And
T3C='titi' And
T1.T1A=T2.T1A and
T3.T3A=T2.T3A ;
Solution 2
Select
T1B
From
T1, T2, T3
Where
T1.T1A=T2.T1A and
T3.T3A=T2.T3A and
T1C= 'toto' And
T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps
machine.
Est-il vrai de dire qu'il est plus rapide d'effectuer les
filtres sur T1C et T3C et de réaliser les jointures après
(solution 1).
Existe-t-il un site permettant de donner l'essentiel de
l'optimisation ?
T1A clé primaire de T1 T3A clé primaire de T3 #T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions d'enregistrements.
Je veux réunir les trois tables selon deux critères sur les tables T1 et T3.
Solution 1 Select T1B From T1, T2, T3 Where T1C= 'toto' And T3C='titi' And T1.T1A=T2.T1A and T3.T3A=T2.T3A ;
Solution 2 Select T1B From T1, T2, T3 Where T1.T1A=T2.T1A and T3.T3A=T2.T3A and T1C= 'toto' And T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps machine. Est-il vrai de dire qu'il est plus rapide d'effectuer les filtres sur T1C et T3C et de réaliser les jointures après (solution 1).
Existe-t-il un site permettant de donner l'essentiel de l'optimisation ?
Merci pour les réponses.
Merci pour les réponses
Fred BROUARD
1) essayer ceci :
Select T1B From T1 INNER JOIN T2 ON T1.T1A=T2.T1A INNER JOIN T3 ON T3.T3A=T2.T3A Where T1C= 'toto' AND T3C='titi'
T1A clé primaire de T1 T3A clé primaire de T3 #T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions d'enregistrements.
Je veux réunir les trois tables selon deux critères sur les tables T1 et T3.
Solution 1 Select T1B From T1, T2, T3 Where T1C= 'toto' And T3C='titi' And T1.T1A=T2.T1A and T3.T3A=T2.T3A ;
Solution 2 Select T1B From T1, T2, T3 Where T1.T1A=T2.T1A and T3.T3A=T2.T3A and T1C= 'toto' And T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps machine. Est-il vrai de dire qu'il est plus rapide d'effectuer les filtres sur T1C et T3C et de réaliser les jointures après (solution 1).
Existe-t-il un site permettant de donner l'essentiel de l'optimisation ?
Merci pour les réponses.
Merci pour les réponses
-- Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
1) essayer ceci :
Select T1B
From T1
INNER JOIN T2
ON T1.T1A=T2.T1A
INNER JOIN T3
ON T3.T3A=T2.T3A
Where T1C= 'toto'
AND T3C='titi'
T1A clé primaire de T1
T3A clé primaire de T3
#T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions
d'enregistrements.
Je veux réunir les trois tables selon deux critères sur
les tables T1 et T3.
Solution 1
Select
T1B
From
T1, T2, T3
Where
T1C= 'toto' And
T3C='titi' And
T1.T1A=T2.T1A and
T3.T3A=T2.T3A ;
Solution 2
Select
T1B
From
T1, T2, T3
Where
T1.T1A=T2.T1A and
T3.T3A=T2.T3A and
T1C= 'toto' And
T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps
machine.
Est-il vrai de dire qu'il est plus rapide d'effectuer les
filtres sur T1C et T3C et de réaliser les jointures après
(solution 1).
Existe-t-il un site permettant de donner l'essentiel de
l'optimisation ?
Merci pour les réponses.
Merci pour les réponses
--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
T1A clé primaire de T1 T3A clé primaire de T3 #T1A,#T3A clé primaire de T2
Les trois tables possèdent quelques millions d'enregistrements.
Je veux réunir les trois tables selon deux critères sur les tables T1 et T3.
Solution 1 Select T1B From T1, T2, T3 Where T1C= 'toto' And T3C='titi' And T1.T1A=T2.T1A and T3.T3A=T2.T3A ;
Solution 2 Select T1B From T1, T2, T3 Where T1.T1A=T2.T1A and T3.T3A=T2.T3A and T1C= 'toto' And T3C='titi' ;
La solution 1 est elle plus rapide que la deux en temps machine. Est-il vrai de dire qu'il est plus rapide d'effectuer les filtres sur T1C et T3C et de réaliser les jointures après (solution 1).
Existe-t-il un site permettant de donner l'essentiel de l'optimisation ?
Merci pour les réponses.
Merci pour les réponses
-- Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************