hilpers


  hilpers > microsoft.* > microsoft.sqlserver

 #1  
29/12/2005, 11h17
JO
Bonjour à tous,

Je rencontre de gros problèmes de perf sur ma base sql 2000.
Ces pb viennent surement de tables mal indexés !

Existe t il une liste de synthétique ( en français de préférence )
de choses à savoir en matière d'index afin que je puisse rapidement
faire un état des lieux et modifier ou supprimer des indexes !

Même chose pour l'optimisation de mes requêtes, y a t il une liste
de trucs à savoir au niveau plan d'éxécution pour rapidement se rendre compte
des pb de lenteurs et y remédier. Parceque sorti des table scan et des index
seek
ca me parle pas trop le plan d'éxécution !

Donc en résumer y aurait il un petit site, ou petit doc pour me dépanner !!

Merci par avance pour vos réponses

jonathan

 #2  
29/12/2005, 11h59
Med Bouchenafa
C'est comme toute chose, cela parait compliqué lorsque on ne sait pas
Dans SQL Server 2000, tu as un outil qui peut t'aider à indexer tes tables
en fonction de tes requetes
Tu ouvres l'Analyseur de requêtes,
Tu tapes ta requête et tu la selectionnes
tu tapes CTRL+I
Cela lance l'assistant Index tuning qui va te suggerer l'indexage
correspondant à ta requête

Il ya aussi pas mal de ressources sur le web pour t'aider dans ta démarche
 #3  
02/01/2006, 10h08
Fred BROUARD
Bonjour,

l'optimisation n'est pas quelque chose de simple et fait appel à de multiples
problématique :
- architecture de la base
- OS et réseau
- serveur
- configuration du SGBDR
- écriture du code (requêtes, procédures, fonctions, code client)
- indexation
....

Pour une première vision globale de la chose, lisez l'article que j'ai écrit à
ce sujet :
[..]

Dans SQL Server, vous disposez en outre des outils suivants :
- SQL Profiler : pour monitorer le code qui est envoyé au serveur
- plan de requête : pour comprendre et tester différentes solution
- statistiques (IO notamment) pour mesurer l'impact.

Je ne suis pas un fan da l'assitant d'indexation car il a tendance a proposer de
TOUT indexer.
En effet trop d'index tue l'index.

Dans les audits que je pratique, les plus gros gains de performances sont les
suivants :
1) modèle de données 60%
2) style d'écriture de l'application 20%
3) indexation 10%
....

A +

JO a écrit:
[..]
 #4  
04/01/2006, 11h08
GNocent
Je ne suis pas d'accord avec l'expression "trop d'index tue l'index", qui
pour moi, n'est pas une généralité (même si évidemment "trop d'index" peut
avoir des conséquences désastreuses si l'on ne sait pas ce que l'on fait).
Tout dépend en effet du type d'activité sur la table en question ... une
table très peu modifiée et/ou où les temps d'insert/delete/update ne sont pas
du tout critiques, alors que les select sont mutlicritères avec de la
volumétrie et des temps d'exécution sensibles aura forcément tendance a être
fortement indexée.
Come toujours l'indexation est affaire de cas par cas ...

D'ailleurs sous SQLServer 2005 il est possible de savoir quels indexes ne
sont pas utilisés si l'on souhaite faire de ménage suite à une indexation
sauvage à la mode "j'en mets partout au cas où" :
[..]

Quant aux statistiques sur les axes d'optimisation possibles, même s'il est
évident qu'un remaniement du modèle de données est forcément l'option la plus
efficace et la plus intelligente, il n'en reste pas moins qu'elle est souvent
peu réaliste sur un projet sensible et/ou qui a déjà un peu vécu : cela est
très couteux (en temps) car cela peut remettre en cause en profondeur le
fonctionnement d'une application.
Bref, la réalité applicative, même si c'est intellectuellement moins
élégant, nous mène souvent à un mix de petites retouches du modèle associé
surtout à une revue de l'indexation et/ou de l'écriture de certaines
requêtes. Si une application a été un minimum bien pensée en terme de modèle,
les problèmes de performances seront souvent localisés à quelques requêtes ou
quelques indexations de tables (souvent on a la règle du 80% des lenteurs
proviennent de 20% du code, si ça n'est pas du 95/5), et une indexatino plus
adaptée ou une réécriture de quelques requêtes peut souvent mener à des gains
de perfs assez conséquents voire à une diminution très sensible de la charge
de la machine.

C'est en tout cas ce que j'ai pu observer sur les projets sur lesquels j'ai
pu travailler, l'avis d'autres DBA est le bienvenu !

Guillaume.

=============================

"Fred BROUARD" a écrit :
[..]

Discussions similaires
INDEX: problème, pas d'espace après la virgule dans mon index

Index avec lien hypertexte vers l'entrée d'index (ou de table ?)

index sur table pour optimisation

optimisation d'index


Fuseau horaire GMT +2. Il est actuellement 11h25. | Privacy Policy