J'ai complètement lu MSDN about table hints et je ne trouve pas la granularité de verrouillage par défaut. Supposons que j'ai la requête suivante:Quelle est la granularité de verrouillage par défaut dans SQL Server?
SELECT TOP (1) * FROM MyTable WITH (UPDLOCK, READPAST) ORDER BY SomeColumn ASC;
Vous voyez, je spécifié UPDLOCK
et READPAST
conseils, mais pas d'indices tels que la granularité TABLOCK
ou ROWLOCK
.
Quel niveau de verrouillage de granularité est utilisé par défaut?
Par défaut, il s'agit d'un verrou au niveau de la ligne. Quand une session/transaction dépasse env. 5 000 verrous au niveau des lignes, le verrou est ** escaladé ** au niveau du verrou au niveau de la table (ou au niveau de la partition, si vous avez des tables partitionnées) –