Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

SQL PASS : Le coût caché de la concurrence d’accès aux données (niveau 400)

A nouveau une session avec Kalen Delaney, cette fois ci il est question de concurrence d'accès aux données.

On commence par un récapitulatif sur les transactions (unité dans laquelle toute modification passe ou aucune) et les verrous (servent à préserver des accès en lecture / écriture les données actuellement utilisées par une transaction).

Puis on aborde les quelques points clefs de l'optimisation d'une application pour améliorer la concurrence d'accès aux données

  • Optimiser les requêtes : Le pourquoi est simple, pour que les accès aux données se fassent avec le moins d'enregistrements / pages bloqués par le moteur
  • Séparer le plus possible les opérations de lecture écriture : Par exemple mettre une table de log ou de compte d'accès séparée plutôt que tout mettre avec des données fréquemment accédées en lecture
  • Réduire la durée / portée des transactions : On met ensemble les écritures (UPDATE, INSERT, DELETE) on y ajoute les lectures si elles doivent être faites dans le cadre de la transaction, et on démarre et termine la transaction (BEGIN TRAN, COMMIT / ROLLBACK) juste avant et après. Pas la peine d'y inclure tout le code d'une procédure stockée ou des calculs par exemple
  • Utiliser les nouveaux niveaux d'isolation dit « snapshot », au lieu de verrouiller les données ils versionnent ces dernières. Attention ces modes, quand ils ne sont pas nécessaires, ont un coup assez important sur les perfomance (beaucoup d'accès supplémentaires à tempdb).

Voilà pour les bonnes pratiques. Assez bizarrement sur l'aspect mode d'isolation Snapshot , Kalen présentait un comparatif en le Read Committed Snapshot et le Snapshot lui-même. Effectivement c'est le Snapshot le moins performant, mais la différente n'est pas très notable en comparaison de la différence qui apparait face au mode de verrouillage classique qui est loin devant en performances (à nouveau hors problèmes de contention).

Bonne session…

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié jeudi 20 septembre 2007 06:55 par christian

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01