Bonjour,
Voilà, j'ai plusieurs deadlock sur un projet depuis plusieurs jours.
Certains j'ai plus les réglé en changeant légèrement la requête mais pour d'autres c'est une vrai plaie.
J'ai utilisé le profiler et les graphiques de deadlock (un truc génial cela dit en passant) pour identifier ce qui posait problème.
En gros j'ai systématiquement un "Échange" de pages entre deux requêtes toujours sur la même table.
C'est une table de mouvements de stock qui contient ~200 lignes par page.
Et là j'ai plusieurs solutions :
- Utiliser des with(nolock) mais ça me fait trop mal donc je garde comme dernier recours.
- "Défragmenté" les lignes pour que les lignes d'un même contexte se suive et aient plus de probabilités d'être sur la même page (cependant je sais pas du tout comment le faire)
- Forcé le blocage au niveau table par défaut (je ne sais pas non-plus comment le faire)
Quelqu'un a-t-il une autre proposition, ou une piste pour réaliser l'une ou l'autre des miennes ?
A+
Partager