Bonjour,
Est-il vraie que SQLServer génére des index automatiquement pour optimiser ?
Comment SQLServer construit sont plan d'execution ? Existe-t-il des documents sur cela ?
Merci d'avance pour vos réponses,
Version imprimable
Bonjour,
Est-il vraie que SQLServer génére des index automatiquement pour optimiser ?
Comment SQLServer construit sont plan d'execution ? Existe-t-il des documents sur cela ?
Merci d'avance pour vos réponses,
J'explique...
J'ai telechargé une version de démo de toad for SQLServer et en parcourant les propriétés, j'ai découvert une multitude d'index sur mes tables du type SQLDMOIndex_Default, SQLDMOIndex_Hypothetical
Je me demande à quoi ils servent et je me pose des questions sur l'optimiseur de requête SQLServeur. Comment fonctionne-t-il ? Il créait des index ?Code:SQLDMOIndex_Hypothetical : Redirects index creation, mapping Index object manipulation to CREATE STATISTICS and DROP STATISTICS statements
Merci pour votre réponse
En fait, je pense que l'Assistant Paramétrage d'index a été utilisé à outrance.
Que pensez-vous de cet utilitaire ?
Une fois les indexes créés y'a-til un assitant au déparamètrage d'index !!! :D
Le grand nombre d'index ne pénalise t il pas le système ?
Merci pour vos réponses (bien que pour le moment je suis le seul à me répondre...) :wink:
Oui ! C'est utile pour les boeufs qui ne connaissent pas grand chose aux SGBDR et ça pourri n'importe quelle base d'une volumétrie digne de ce nom.
En l'état, à proscrire.
Pour ce qui est des plans d'exécution, vous pouvez les afficher via l'icône idoine dans SQL Analyzer ou via set showplan on
En fait, se sont des indexes qui commencent par _WA_Sys_.
A priori, ils sont générés automatiquement par SQLServer. A quoi servent-ils ?
Ben justement : à pallier au manque des développeurs si ceux-ci n'ont pas fait leur boulot :wink:
Cela n'a pas un lien avec les options Mettre à jour automatiquement et créer automatiquement les statistiques de la base de données ?
C'est la question que je suis en train de me poser, car je ne vois nulle part ailleurs ou l'inactiver.
Pour moi, les stats, c'est normalement autre chose (plutôt en lien avec un update statistics !)
A noter que ce qui ressemble à des indexes générés (_W%) n'apparaissent pas via un sp_help de la table, mais sont pourtant bien présents dans sysindexes... Je me demande quel est leur impact réel lors des insertions...
Le développeur d'une part mais surtout le DBA qui doit valider voir initier toutes les tâches d'optimisation. Et en effet, je ne crois pas du tout en la possibilité d'optimiser automatiquement une instance, c'est bien trop complexe. Exemple : comment le SGBD sait si une table est plus souvent lues qu'écrites. Dans le 2° cas un index peut être catastrophique :?Citation:
Envoyé par fadace
En fait les index dont le nom commence par WA_Sys_... sont des index créés par MS SQL Server à l'occasion d'une requête. En fait en pratique il ne s'agit pas réellement d'index car ils ne sont pas maintenus, mais plus exactement de statistiques.
Ces statistiques sont créées à l'occasion d'une requête particulière parcve que le moteur SQL à trouvé que créé cette statstique était le moyen le plus rapide de traiter la requête.
Ces pseudo index sont un bon indice pour se poser la question de justificier la création d'un index sur les données concernées.
A +
Ok, c'est bien ce que je pensais. Malgré leur existence dans sysindexes, ils n'ont pas d'existence physique en page d'indexes et ne servent qu'à stocker de la stat...
Merci à SQLPro et a fadace pour vos réponses
En complément, ils constituent un très bon point de départ pour décider si une colonne est un excellent condidat pour l'indexation.
En effet, lorsque le serveur est configuré pour la création automatique des statistiques, l'optimiseur crée une colonne toutefois que c'est necessaire.