[SQL Server] Accès concurrentiels : brève présentation des types de contrôle de la concurrence

[SQL Server] Accès concurrentiels : brève présentation des types de contrôle de la concurrence

Ce petit billet présente les contrôles de la concurrence sous SQL Server. SQL Server possède principalement 2 types de contrôle de la concurrence (ou stratégies de verrouillage) : le contrôle pessimiste (par défaut) et le contrôle optimiste. Il existe également un 3ème type (plus exceptionnel) de contrôle de la concurrence : le contrôle anarchique (ou chaotique). (suite…)

[SQL Server] Curseurs : comparaison de performances avec une boucle WHILE

[SQL Server] Curseurs : comparaison de performances avec une boucle WHILE

Ce petit billet offre quelques éléments de comparaison de performances entre un curseur et une boucle WHILE. Il est de notoriété publique que les curseurs sont à éviter et qu’il est de bon ton de les remplacer par, par exemple, une boucle WHILE pour des raisons de performances.

Nous allons nous intéresser aux statistiques I/O et aux temps d’exécution. De plus, chaque type de curseur sera testé (FAST_FORWARD, STATIC, KEYSET et DYNAMIC).

(suite…)

[SQL Server] Curseurs : présentation générale

[SQL Server] Curseurs : présentation générale

En règle générale, l’utilisation d’un curseur est vivement déconseillée pour principalement des raisons de performances, SQL Server étant optimisé pour les opérations ensemblistes, sachant que les curseurs effectuent des opérations itératives. Ce billet présente néanmoins ce qu’est concrètement un curseur, comment il fonctionne sous SQL Server et en quoi il peut avoir un impact négatif sur les performances.

(suite…)