PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Hébergement serveur > ms.public.fr.sqlserver > Paramétrage Index
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Paramétrage Index

Réponse
 
LinkBack Outils de la discussion
Vieux 09/07/2008, 08h54   #1
J
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Paramétrage Index

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
  Réponse avec citation
Vieux 09/07/2008, 11h03   #2
Gregory DURAND
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Paramétrage Index


"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


  Réponse avec citation
Vieux 10/07/2008, 06h56   #3
J
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Paramétrage Index

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
  Réponse avec citation
Vieux 10/07/2008, 11h35   #4
SQLpro
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Paramétrage Index

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


  Réponse avec citation
Vieux 11/07/2008, 07h21   #5
J
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Paramétrage Index

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
  Réponse avec citation
Vieux 13/07/2008, 19h19   #6
Fred BROUARD
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Paramétrage Index

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 *************************
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 21h43.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,24717 seconds with 14 queries