IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[2000] Index et optimisation


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut [2000] Index et optimisation
    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,

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut j'approfondie
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLDMOIndex_Hypothetical  : Redirects index creation, mapping Index object manipulation to CREATE STATISTICS and DROP STATISTICS statements
    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 ?

    Merci pour votre réponse

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut
    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 !!!

    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...)

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    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
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut _WA_Sys_
    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 ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Ben justement : à pallier au manque des développeurs si ceux-ci n'ont pas fait leur boulot
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut
    Cela n'a pas un lien avec les options Mettre à jour automatiquement et créer automatiquement les statistiques de la base de données ?

  8. #8
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    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...
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  9. #9
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par fadace
    Ben justement : à pallier au manque des développeurs si ceux-ci n'ont pas fait leur boulot
    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

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 997
    Billets dans le blog
    6
    Par défaut
    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 +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  11. #11
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    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...
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  12. #12
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut
    Merci à SQLPro et a fadace pour vos réponses

  13. #13
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    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.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimisation base de données SQL Server 2000: Indexation
    Par Mouckson dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/05/2012, 01h39
  2. index et optimisation
    Par babarincairo dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/10/2006, 17h44
  3. Requetes et Index pour optimisation...
    Par manuds dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 17/03/2006, 09h05
  4. [Oracle 9] Vue materialisée indexée et optimisation
    Par scornille dans le forum Oracle
    Réponses: 4
    Dernier message: 18/11/2005, 15h11
  5. ADO + Access 2000 + index avec doublon
    Par jnc dans le forum Bases de données
    Réponses: 7
    Dernier message: 25/10/2005, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo