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 :

Optimisation d'une grosse table


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 175
    Points : 57
    Points
    57
    Par défaut Optimisation d'une grosse table
    Bonjour tout le monde!
    Je sais que l'SQL est fait pour les Bases volumineuses, A présent je veux m'attaquer à ce sujet car en fait, ma table s'augmente de jour en jour, maintenant elle est à 400 Millions d'enregistrement et va encore grossir. Et quand j'execute des requêtes çà devient misère sur une machine puissante de 8Go de RAM et Biprocesseur 2Ghz chacun. J'ai entendu dire qu'on pouvait partitionner la table où si vous avez d'autres proposition pouvez-vous m'indiquer?
    Merci!

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    p'tite question comme ça...
    1/as tu des index, des clés primaires....

    et
    2/ surtout as-tu validés que tes requêtes étaient bien écrites
    cf ici

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 896
    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 896
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    La notion d'enregistrement n'existe pas en matières de SGBD relationnel. Dans un SGBDR on trouve des tables (objets logiques) ayant des lignes (objets logiques).
    Un nombre de ligne, même important n'est pas significatif d'un fort volume...

    1) Quel est la description de votre table (colonnes, types, contraintes...) et quels sont les index dessus ?

    2) Quelles sont les requêtes que vous trouvez lentes ?

    On optimise pas une table. On optimise une requête en indexant une table.


    Quant au partitionnement de données il ne devient intéressant que lorsque les trois conditions sont réunies :
    1) la table fait plusieurs dizaines de Giga octets et si possible quelques centaines
    2) le serveur dispode de plusieurs agrégats raid physiquement ditsincts ou l'on peut faire reposer la table
    3) les requêtes à faire portent sur un tronçon quelconque de la table
    Sans ces 3 conditions, le partitionnement sera pire qu'une table monolitique.


    A +

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 175
    Points : 57
    Points
    57
    Par défaut
    Merci pour vos réponses!
    La taille de ma table est de 17Go et l'augmentation journalière est de 1Million de lignes, et oui elle n'est pas encore indexée.Il y a Des personnes qui me disent que les tables indexées bouffent trop d'espace vu que la mienne commence à en bouffer déjà(car j'ai à peu près 6 Tables)
    A présent je vais l'indexé et vous mettre au courant
    A+

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 175
    Points : 57
    Points
    57
    Par défaut
    J'ai oublié
    1- je joint ici l'exemple de la description de ma table
    2- Les requêtes qui prennent du temps sont les jointures entre deux grandes tables
    Images attachées Images attachées  

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 175
    Points : 57
    Points
    57
    Par défaut
    En fait pouvez vous me donner un document sur l'art d'indexé les tables?

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 896
    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 896
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    Il y a Des personnes qui me disent que les tables indexées bouffent trop d'espace vu que la mienne commence à en bouffer déjà (car j'ai à peu près 6 Tables)
    Vous viendrait-il à l'idée de ne surtout pas changer de pneus s'il deviennent lissen ??? C'est à peu près le même genre de conseil...

    Plus une table est importante, plus une base est volumineuse, plus il est nécessaire de bien l'indexer. Un bon index divise par 100 à 1000 le coût des requêtes. Une bonne indexation n'occupe pas beaucoup plus de place que la base elle même.
    Lisez l'étude d'indexation que j'ai donné ici :
    http://www.sqlspot.com/INDEXATION-un...l-exemple.html

    A +

    PS : donnez le code SQL DDL de votre tables (ou de toute votre base). Votre image ne sert à rien...

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 175
    Points : 57
    Points
    57
    Par défaut
    Merci!
    Je reconnais que l index est indispensable est je suis en train d étudier. Où est-ce quon peu trouver cette analyseur de plan de requête sous SQL server 2005?

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 896
    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 896
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    CTRL L / CTRL M
    Plan estimé / Plan réalisé (après execution)
    Dans le menu Requête... dans une fenêtre de requête SQL

    Mais le plan de requête n'est franchement pas la chose primordiale... A moins de consacrer quelques jours à étudier les 127 différents pictogrammes de processus unitaires d'étape d'un plan de requête...

    A +

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 175
    Points : 57
    Points
    57
    Par défaut
    Merci de ton aide!

  11. #11
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 175
    Points : 57
    Points
    57
    Par défaut
    J'ai vu le doc est c'est cool, Mais il n'y a pas d'explication sur les bases structurées en étoile.
    y-a-t'il une règle spéciale pour l'indexation dans un environement datawareHouse?
    Merci

Discussions similaires

  1. Optimisation d'une requête SELECT sur une grosse table
    Par eracius dans le forum Requêtes
    Réponses: 4
    Dernier message: 26/05/2008, 14h51
  2. partitionnement d'une grosse table
    Par sheridan31 dans le forum Administration
    Réponses: 1
    Dernier message: 14/12/2006, 18h43
  3. statistique d'une grosse table
    Par dibejmaher dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 01/09/2006, 16h20
  4. Update trés lent sur une grosse table
    Par neo.51 dans le forum Oracle
    Réponses: 21
    Dernier message: 14/12/2005, 11h06
  5. [Oracle] Mieux vaut une grosse table ou plein de petite ?
    Par ShinJava dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 30/11/2005, 16h32

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