Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Pourquoi une seule instruction de suppression SQL entraînera un blocage ?

La réponse habituelle :ça dépend ! :-)

Principalement sur la quantité de trafic que vous avez sur votre système et sur le niveau d'isolation des transactions que vous utilisez.

Le niveau d'isolement contrôle la façon dont vous obtenez vos données et le degré de verrouillage. Si vous n'avez jamais entendu parler des niveaux d'isolement des transactions, vous utilisez probablement la valeur par défaut - READ COMMITTED, qui ne devrait pas être trop grave choix.

Cependant, si vous utilisez quelque chose comme SERIALIZABLE pour quelque raison que ce soit, vous pourriez rencontrer non pas des blocages, mais des retards. La table peut être verrouillée pendant un certain temps jusqu'à ce que votre seule transaction soit terminée. Si toutes les opérations fonctionnent dans cet ordre (d'abord supprimer, puis insérer, puis sélectionner), je ne vois vraiment pas comment vous devriez rencontrer des blocages.

Renseignez-vous sur les niveaux d'isolation des transactions SQL ici sur www.sql-server- performances.com .