SQL Server Nolock Deyimi Nedir, Nasıl Kullanılır?

Sql Server Nolock ile herhangi bir tabloda kayıt üzerinde yapılan işlem sonlanana kadar server sql server tarafından ‘Locking’ kilitlenir ve bu işlem sonlanana kadar başka bir kullanıcının bu tablo üzerinde işlem yapılması engellenir.

SQL Server Nolock Deyimi Nedir, Nasıl Kullanılır?

SQL Server Nolock Deyimi

Sql server’da herhangi bir tabloda kayıt üzerinde yapılan işlem sonucunda işlem sonlanana kadar server sql server tarafından ‘Locking’ kilitlenir ve bu işlem sonlanana kadar başka bir kullanıcının bu tablo üzerinde işlem yapılması engellenir. Böylece aynı kayıt üzerinde kullanıcıların yaptığı işlemlerin çakışmaması için işlem sonucunda diğer kullanıcıya ‘Locking’ kilitlenen tablo açılarak kullanıcıya bir sonraki işlem için izin verilir. Küçük projelerde bu aralığı anlamanız imkansız ama aynı anda 1000’lerce işlem yapan projelerde bu farkı hissetmeniz mümkündür.

Bu durumu aşabilmek için ne yapmamız gerekiyor diye soru sorduğunuzu duyar gidibiyim 🙂

Bunun için SQL Sorgu cümleciğimizde WITH (NOLOCK) deyimini kullanabiliriz.

Örnek bir SQL cümlesi ile daha iyi anlayabilirsiniz.

Bu cümle ile artık cutomers tablosuna isterse milyonlarca aynı anda kayıt olsun erişme izni elde etmiş oldunuz yalnız bu işlemin size kullanım açısından avantajı olduğunu düşünsenizde kimi yerlerde dezavantaj oluşturabilmektedir. Örnek olarak bir tablo üzerinde son 1 adet kalan ürün için aynı anda 2 kişi birden işlem yapabilir ve tablo kilitli olmadığı içinde ürün aynı anda işlem yapan 2 kişiye birden hata vermeden aktarıldı. Biz örneği 2 kişiyle sınırlı tuttuk ama orta ölçekli veya büyük ölçekli projelerde aynı anda 1000’lerce vaya milyonlarca yapılacak işlemlerde ciddi karmaşalıklar çıkabilir. Bu karmaşıklığın önüne geçmek için ise ‘TRANSACTION’ kullanmanız gerekir.


📚 İlgilenebileceğiniz Farklı Sql Server Kaynakları


✍ Lütfen olumlu-olumsuz tüm görüşlerinizi bana yorum yada mail yolu ile iletmeyi ihmal etmeyin.

🔗 Sosyal medya kanallarından makaleyi paylaşarak destek olursanız çok sevinirim.

👋 Bir sonraki makalede görüşmek dileğiyle.

Sql server nolock nedir?

4.6/5 - (22 votes)