une question simple: je vois sur mon cours Sql Server 2000 (dont je =
reviens juste !) que le moteur se sert des statistisques pour optimiser =
les requ=EAtes. Ok mais comment ?
Par ex, lors d'une requ=EAte du style SELECT * FROM table WHERE id =
BETWEEN 1 AND 300, il y 2 possibilit=E9s: un table scan ou alors =
l'utilisation de l'index de ID (s'il existe bien s=FBr). Le table scan =
est choisi si la s=E9lectivit=E9 de la requ=EAte est faible (par =
exemple, s'il n'y a que 400 lignes avec un id diff=E9rent). Comment le =
moteur =E9value-t-il cette s=E9lectivit=E9 ? Avec les stats ?
Merci d'avance de vos r=E9ponses intelligentes ;-))
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
hch
Oui dans le calcul des stats la selectivité est evaluée
il n'y a pas que la selectivité il y a aussi la densité !!
vous pouvez voir ceci avec dbcc showstatistics
SQL server choisi un index ou pas en fonction de la selectivité de ce dernier et il l'utilise lorsque vraiment il vous fait gagner un bon pourcentage de nombre de pages a parcourir sinon il reste sur le table scan
"Oriane" a écrit :
Bonjour,
une question simple: je vois sur mon cours Sql Server 2000 (dont je reviens juste !) que le moteur se sert des statistisques pour optimiser les requêtes. Ok mais comment ?
Par ex, lors d'une requête du style SELECT * FROM table WHERE id BETWEEN 1 AND 300, il y 2 possibilités: un table scan ou alors l'utilisation de l'index de ID (s'il existe bien sûr). Le table scan est choisi si la sélectivité de la requête est faible (par exemple, s'il n'y a que 400 lignes avec un id différent). Comment le moteur évalue-t-il cette sélectivité ? Avec les stats ?
Merci d'avance de vos réponses intelligentes ;-))
Oui dans le calcul des stats la selectivité est evaluée
il n'y a pas que la selectivité il y a aussi la densité !!
vous pouvez voir ceci avec dbcc showstatistics
SQL server choisi un index ou pas en fonction de la selectivité de ce
dernier et il l'utilise lorsque vraiment il vous fait gagner un bon
pourcentage de nombre de pages a parcourir sinon il reste sur le table scan
"Oriane" a écrit :
Bonjour,
une question simple: je vois sur mon cours Sql Server 2000 (dont je reviens juste !) que le moteur se sert des statistisques pour optimiser les requêtes. Ok mais comment ?
Par ex, lors d'une requête du style SELECT * FROM table WHERE id BETWEEN 1 AND 300, il y 2 possibilités: un table scan ou alors l'utilisation de l'index de ID (s'il existe bien sûr). Le table scan est choisi si la sélectivité de la requête est faible (par exemple, s'il n'y a que 400 lignes avec un id différent). Comment le moteur évalue-t-il cette sélectivité ? Avec les stats ?
Oui dans le calcul des stats la selectivité est evaluée
il n'y a pas que la selectivité il y a aussi la densité !!
vous pouvez voir ceci avec dbcc showstatistics
SQL server choisi un index ou pas en fonction de la selectivité de ce dernier et il l'utilise lorsque vraiment il vous fait gagner un bon pourcentage de nombre de pages a parcourir sinon il reste sur le table scan
"Oriane" a écrit :
Bonjour,
une question simple: je vois sur mon cours Sql Server 2000 (dont je reviens juste !) que le moteur se sert des statistisques pour optimiser les requêtes. Ok mais comment ?
Par ex, lors d'une requête du style SELECT * FROM table WHERE id BETWEEN 1 AND 300, il y 2 possibilités: un table scan ou alors l'utilisation de l'index de ID (s'il existe bien sûr). Le table scan est choisi si la sélectivité de la requête est faible (par exemple, s'il n'y a que 400 lignes avec un id différent). Comment le moteur évalue-t-il cette sélectivité ? Avec les stats ?
une question simple: je vois sur mon cours Sql Server 2000 (dont je reviens juste !) que le moteur se sert des statistisques pour optimiser les requêtes. Ok mais comment ?
une question simple: je vois sur mon cours Sql Server 2000 (dont je reviens juste !) que le moteur se sert des statistisques pour optimiser les requêtes. Ok mais comment ?
une question simple: je vois sur mon cours Sql Server 2000 (dont je reviens juste !) que le moteur se sert des statistisques pour optimiser les requêtes. Ok mais comment ?
La cardinalité = nombre de valeurs uniques de clé = C La densité = 1/C
Cordialement, LionelP
"Oriane" a écrit :
Merci de ta réponse. Et c'est koi la densité ?
"hch" a écrit dans le message de news: > Oui dans le calcul des stats la selectivité est evaluée > > il n'y a pas que la selectivité il y a aussi la densité !! > > vous pouvez voir ceci avec dbcc showstatistics > > SQL server choisi un index ou pas en fonction de la selectivité de ce > dernier et il l'utilise lorsque vraiment il vous fait gagner un bon > pourcentage de nombre de pages a parcourir sinon il reste sur le table scan > > > "Oriane" a écrit : > >> Bonjour, >> >> une question simple: je vois sur mon cours Sql Server 2000 (dont je reviens juste !) que le moteur se sert des statistisques pour optimiser les requêtes. Ok mais comment ? >> >> Par ex, lors d'une requête du style SELECT * FROM table WHERE id BETWEEN 1 AND 300, il y 2 possibilités: un table scan ou alors l'utilisation de l'index de ID (s'il existe bien sûr). Le table scan est choisi si la sélectivité de la requête est faible (par exemple, s'il n'y a que 400 lignes avec un id différent). Comment le moteur évalue-t-il cette sélectivité ? Avec les stats ? >> >> Merci d'avance de vos réponses intelligentes ;-)) >>
Bonjour,
La cardinalité = nombre de valeurs uniques de clé = C
La densité = 1/C
Cordialement,
LionelP
"Oriane" a écrit :
Merci de ta réponse. Et c'est koi la densité ?
"hch" <hch@discussions.microsoft.com> a écrit dans le message de news: BE435FE8-DDE9-4DC5-AA4E-70E8EDF9E3C6@microsoft.com...
> Oui dans le calcul des stats la selectivité est evaluée
>
> il n'y a pas que la selectivité il y a aussi la densité !!
>
> vous pouvez voir ceci avec dbcc showstatistics
>
> SQL server choisi un index ou pas en fonction de la selectivité de ce
> dernier et il l'utilise lorsque vraiment il vous fait gagner un bon
> pourcentage de nombre de pages a parcourir sinon il reste sur le table scan
>
>
> "Oriane" a écrit :
>
>> Bonjour,
>>
>> une question simple: je vois sur mon cours Sql Server 2000 (dont je reviens juste !) que le moteur se sert des statistisques pour optimiser les requêtes. Ok mais comment ?
>>
>> Par ex, lors d'une requête du style SELECT * FROM table WHERE id BETWEEN 1 AND 300, il y 2 possibilités: un table scan ou alors l'utilisation de l'index de ID (s'il existe bien sûr). Le table scan est choisi si la sélectivité de la requête est faible (par exemple, s'il n'y a que 400 lignes avec un id différent). Comment le moteur évalue-t-il cette sélectivité ? Avec les stats ?
>>
>> Merci d'avance de vos réponses intelligentes ;-))
>>
La cardinalité = nombre de valeurs uniques de clé = C La densité = 1/C
Cordialement, LionelP
"Oriane" a écrit :
Merci de ta réponse. Et c'est koi la densité ?
"hch" a écrit dans le message de news: > Oui dans le calcul des stats la selectivité est evaluée > > il n'y a pas que la selectivité il y a aussi la densité !! > > vous pouvez voir ceci avec dbcc showstatistics > > SQL server choisi un index ou pas en fonction de la selectivité de ce > dernier et il l'utilise lorsque vraiment il vous fait gagner un bon > pourcentage de nombre de pages a parcourir sinon il reste sur le table scan > > > "Oriane" a écrit : > >> Bonjour, >> >> une question simple: je vois sur mon cours Sql Server 2000 (dont je reviens juste !) que le moteur se sert des statistisques pour optimiser les requêtes. Ok mais comment ? >> >> Par ex, lors d'une requête du style SELECT * FROM table WHERE id BETWEEN 1 AND 300, il y 2 possibilités: un table scan ou alors l'utilisation de l'index de ID (s'il existe bien sûr). Le table scan est choisi si la sélectivité de la requête est faible (par exemple, s'il n'y a que 400 lignes avec un id différent). Comment le moteur évalue-t-il cette sélectivité ? Avec les stats ? >> >> Merci d'avance de vos réponses intelligentes ;-)) >>