|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
J'ai une requête qui prend un certain temps. Dans l'analyseur de requête sql, j'ai essayé l'Assistant paramétrage d'index. En regardant le script généré, je me pose deux questions : - Il crée un index sur une colonne qui contient une foreign key. Il me semblait qu'une clé étrangère était forcemment indexée. Ce n'est pas le cas ? - Il génère plusieurs CREATE STATISTICS ... qui semblent s'intéresser à des colonnes effectivement importante pour la requête. Que sont les Statistics ? Est-ce quelque chose qui doit être "maintenu" (j'ai vu UPDATE STATISTICS) ? Peut-on en créer autant que l'on veut (est-ce que ça a un coût important) ? Connaissez vous un document / livre sur cet aspect (le bon usage des statistics). Merci. JL |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
"J" <lacoste@alussinan.org> wrote in message news:48746eb0$0$18203$426a74cc@news.free.fr... > Bonjour, > > J'ai une requête qui prend un certain temps. > Dans l'analyseur de requête sql, j'ai essayé l'Assistant paramétrage > d'index. En regardant le script généré, je me pose deux questions : > > - Il crée un index sur une colonne qui contient une foreign key. Il me > semblait qu'une clé étrangère était forcemment indexée. Ce n'est pas le > cas ? > > - Il génère plusieurs CREATE STATISTICS ... qui semblent s'intéresser à > des colonnes effectivement importante pour la requête. Que sont les > Statistics ? Est-ce quelque chose qui doit être "maintenu" (j'ai vu UPDATE > STATISTICS) ? Peut-on en créer autant que l'on veut (est-ce que ça a un > coût important) ? Connaissez vous un document / livre sur cet aspect (le > bon usage des statistics). > > Merci. > > JL Bonjour, En ce qui concerne les "STATISTICS", je pense que les articles suivants pourraient vous être de quelque utilité: http://www.microsoft.com/technet/pro.../qrystats.mspx http://technet.microsoft.com/fr-fr/m...chNet.10).aspx http://sql-server-performance.com/ti...wizard_p1.aspx -- En espérant avoir pu vous aider, Cordialement, Gregory DURAND |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Gregory DURAND a écrit :
.... > En ce qui concerne les "STATISTICS", je pense que les articles suivants > pourraient vous être de quelque utilité: > > http://www.microsoft.com/technet/pro.../qrystats.mspx > http://technet.microsoft.com/fr-fr/m...chNet.10).aspx > http://sql-server-performance.com/ti...wizard_p1.aspx > Merci pour ces liens, je vais étudier. JL |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
On 9 juil, 09:54, J <laco...@alussinan.org> wrote:
> Bonjour, > > J'ai une requête qui prend un certain temps. > Dans l'analyseur de requête sql, j'ai essayé l'Assistant paramétrage > d'index. En regardant le script généré, je me pose deux questions : > > - Il crée un index sur une colonne qui contient une foreign key. Il me > semblait qu'une clé étrangère était forcemment indexée. Ce n'est pas le > cas ? Jamais. En revanche il est fortement conseillé d'indexer toutes les clefs étrangères mais d'éviter les index inclus. > > - Il génère plusieurs CREATE STATISTICS ... qui semblent s'intéresser à > des colonnes effectivement importante pour la requête. Que sont les > Statistics ? Est-ce quelque chose qui doit être "maintenu" (j'ai vu > UPDATE STATISTICS) ? Peut-on en créer autant que l'on veut (est-ce que > ça a un coût important) ? Connaissez vous un document / livre sur cet > aspect (le bon usage des statistics). Les statistiques sont créées dans deux cas : - derrière chaque index - derrières certaines colonnes non indexées lorsque des requêtes utilisent à plusieurs reprise la colonne* Les statistiques sont nécessaires à l'optimiseur pour déterminer s'il doit utiliser ou non la recherche dans l'index au vu de la valeur passée. Par exemple dans le cas d'une table de client, avec un index sur la colonne VILLE, alors le moteur relationnel peut utiliser l'index si l'on recherche les clients habitant à Trifouilly les Argonzettes peu d'occurences) et va se passer de l'index pour les clients de Paris. (trop nombreuses occurences). A lire sur les statistiques, les index et le DTA (par l'exemple) : http://sqlpro.developpez.com/optimisation/indexation/ A + Frédéric BROUARD - SQLpro - MVP SQL Server Spécialiste SQL/BD modélisation de données SQL & SGBDR http://sqlpro.developpez.com/ Expert SQL Server : http://www.sqlspot.com audits - optimisation - tuning - formation > > Merci. > > JL |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
SQLpro a écrit :
.... >> - Il crée un index sur une colonne qui contient une foreign key. Il me >> semblait qu'une clé étrangère était forcemment indexée. Ce n'est pas le >> cas ? > > Jamais. En revanche il est fortement conseillé d'indexer toutes les > clefs étrangères mais d'éviter les index inclus. Merci pour votre réponse très intéressante. Juste une précision, qu'est-ce que vous entendez par "éviter les index inclus" ? Jean |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
J a écrit :
> SQLpro a écrit : > ... >>> - Il crée un index sur une colonne qui contient une foreign key. Il me >>> semblait qu'une clé étrangère était forcemment indexée. Ce n'est pas le >>> cas ? >> >> Jamais. En revanche il est fortement conseillé d'indexer toutes les >> clefs étrangères mais d'éviter les index inclus. > > Merci pour votre réponse très intéressante. Juste une précision, > qu'est-ce que vous entendez par "éviter les index inclus" ? > > Jean Par exemple dans les entités en associations plusieurs à plusieurs dans le modèle conceptuel de données, il y aura création d'une table de jointure en lieu et place de l'association au niveau du modèle physique. Dans ce cas l'ensemble des clefs étrangères forme la clef primaire de la table et à ce titre est indexé. Cependant il convient aussi de mettre en place des index sur toutes les clefs étrangères. Mais pour celle qui se trouve être en tête de la vectorisation de la clef primaire cela s'avère inutile car cet index de clef étrangère est inclus dans l'index de la clef primaire. A + -- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com ************************* |
|
![]() |
| Outils de la discussion | |
|
|