Bonjour à tous,
Tout d'abord, je me présente en deux mots : je suis administrateur S&R et donc n'aurait aucunement la prétention de dire "être DBA !" (et je suis encore moins développeur).
J'ai une application métier au sein de mon entreprise avec des bases SQL qui tournent sous SQL Server 2005.
Suite à une récente montée de version de l'application, mes utilisateurs se sont plaint de lenteurs. La consommation CPU moyenne du serveur SQL avait pratiquement doublé par rapport à la précédente version. Selon l'éditeur, il n'y a aucune raison à cela : il s'agit d'une évolution de version mineure.
Après avoir enregistré une trace SQL de l'activité d'une après midi complète d'utilisation, j'ai appliqué les index proposés par le SQL Profiler. Les utilisateurs me disent dès le lendemain que les temps de réponse sont meilleurs et ma consommation CPU est effectivement plus faible.
Quelques jours après, des utilisateurs ont découvert que certaines fonctionnalités de l'application plantaient (un clique sur le bouton "propriété" d'une facture provoque tout simplement le crash de l'application !).
L'éditeur me dit que cela provient des index ajoutés par l'optimiseur de requête et qu'il faut les enlever (ce que je vais faire ce soir).
En quoi, la pose d'index supplémentaire peut-elle faire crasher l'application ? J'aimerais avoir votre avis et surtout l'explication si tel est le cas.
Je précise que la pose d'index a été faite avec les utilisateurs offline !
Merci d'avance de m'éclairer à ce sujet.
Partager