search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
90 gösterim

Mesela 

Select Top 100 from ogrenciler

gibi ve

Select Top 100 from ogrenciler(NOLOCK)

gibi iki sorgumuz olsun. Bu sorgular arasındaki fark nedir?

kapalı
Veri Tabanı kategorisinde 334 puan
kapalı

1 cevap

1 oy
 
En İyi Cevap
Erişilen datalar üzerinde devam eden bir transaction olduğu zaman, NOLOCK kullanılmadığı durumda, sql server kitlediği için işlem bitene kadar bu kayıtlar üzerinde başka bir işlem yapılmasına izin vermez ve bekletir.

Verdiğiniz ilk örnekte bu durum yaşanır. Ama eğer ikinci örnekteki gibi NOLOCK kullanılırsa bu lock kaldırılır ve dataların o anki değeri neyse beklemeden onu döndürür.

Buradaki risk; eğer NOLOCK kullanılarak çekilen datalar o andan sonra değişir ya da rollback yapılırsa, sorgunun çalıştığı anda tutarlı bir veriye ulaşmama tehlikesi bulunmaktadır. Fakat bu kabul edilebilir bir risk ise kullanmakta bir sakınca bulunmamaktadır.
446 puan

İlgili sorular

1 oy
1 cevap 582 gösterim
582 gösterim
Oracle veri tabanında lag(..) over (partion by ..) ne iş yapar bilen var mı?
2 Mart 2018 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
2 oy
3 cevap 1.3K gösterim
1.3K gösterim
PL/SQL de bir SQL sorgusundan sonrasında sql rowcount işlemi var, bu ne işe yarar, ve hangi SQL 'i alır? Örneğin: SQL .... SQL ... if sql%rowcount = 1 then count:= count+ 1; end if;
17 Aralık 2015 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
2 cevap 2.7K gösterim
2.7K gösterim
pl sql developer kullanarak bir select atıyorum date formatı için SELECT TO_DATE('04-JUL-15', 'DD-MON-YY') FROM dual; ancak "ORA-01843: geçerli bir ay değil" hatası aldım. UAT ortamımızda düzgün çalışırken, PROD ortamımızda çalışmadı nedendir acaba?
26 Ekim 2016 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
1 oy
1 cevap 486 gösterim
486 gösterim
oracle'da nextval ve interval nedir? Nasıl kullanılır?
23 Temmuz 2018 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 243 gösterim
243 gösterim
Selamlar, Bir string içersinde sql sorgusu tanımlıyorum. Fakar çok uğraşmamak için tek string içersinde birden fazla sorgu hazırlamak istiyorum. Sorguları birleştirmek için ne kullanabilirim?
27 Mayıs 2021 Veri Tabanı kategorisinde kupanintorunu 363 puan sordu