Je crois comprendre que lorsque NOLOCK est utilisé dans l'instruction SELECT, il peut également lire les lignes non validées/encrassées. Mais je voulais profiter de l'indice NOLOCK sur la table pour que ma requête SELECT puisse s'exécuter rapidement. Maintenant, est-ce que NOLOCK sur la table mais avec "SET TRANSACTION ISOLATION LEVEL READ COMMITTED" me donne un avantage NOLOCK et une requête SELECT plus rapide (à cause de NOLOCK) avec seulement des lignes validées (à cause de SET)?Instruction SELECT - NOLOCK avec SET TRANSACTION ISOLATION LEVEL READ COMMITTED
11
A
Répondre
17
oui un soupçon de table remplace le paramètre de niveau d'isolation, de sorte que vous obtiendrez toujours sale lit
facile à tester
première manche ce
create table bla(id int)
insert bla values(1)
begin tran
select * from bla with (updlock, holdlock)
assurez-vous commettez pas la tran !! ouvrir une autre fenêtre et exécutez ce
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
select * from bla -- with (nolock)
vous ne recevez rien en retour.
ouvrir une autre fenêtre et exécuter ce maintenant
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
select * from bla with (nolock)
que vous pouvez voir vous récupérerez la ligne
BTW, READ COMMITTED est le niveau d'isolation par défaut, pas besoin de le mettre
Jetez un oeil à Snapshot Isolation qui ne vous rendra pas les données sales mais ne verrouillera toujours pas
Questions connexes
- 1. Comment puis-je modifier le paramètre TRANSACTION ISOLATION LEVEL dans SQL Server 2005 par défaut?
- 2. SQLServer Transaction Isolation Analogy
- 3. Quel SQL lire TRANSACTION ISOLATION LEVEL est-ce que je veux pour insérer longtemps?
- 4. Message de transaction
- 5. Niveaux ISOLATION dans la transaction
- 6. niveau d'isolement et DIRT READ SQL Server 2005 (question avancé)
- 7. Instruction Select avec ISNULL
- 8. instruction WHERE avec le champ SET
- 9. Quelle est la portée de l'isolation dans les transactions imbriquées dans SQL Server?
- 10. Isolation d'instantané TSQL
- 11. peut OptimisticLockException se produire si le niveau d'isolement de l'application srv est défini sur READ COMMITTED?
- 12. instruction select SQL
- 13. Instruction SQL select avec incrément
- 14. instruction d'insertion SQL avec select
- 15. MySQL Trigger avec instruction SELECT
- 16. x86 instruction set roadmap
- 17. Paramètre Insertion instruction avec transaction renvoyant une erreur
- 18. instruction SELECT
- 19. Crystal Reports avec SQL Server 2005: Configuration Isolation des transactions Niveau
- 20. Pourquoi UPDATE bloque SELECT sur des lignes non liées?
- 21. Java: JPQL instruction select
- 22. Nouvelle aide avec instruction select SQL Server
- 23. Besoin d'aide avec une instruction conditionnelle SELECT
- 24. Instruction SQL Select avec aide Inner Join
- 25. Instruction SQL Select avec WHERE, AND, OU
- 26. Instruction SQL SELECT Tricky
- 27. mot-clé SQL Server NOLOCK
- 28. Pour comprendre une instruction dans Postgres
- 29. Encapsulation LINQ instruction select
- 30. c instruction select