Eğer sql tarafından kaynaklı ise sql'de with (nolock) özelliği vardır. Bunu yaparsan diğer kullanıcılar veri çekerlerken diğer işlemlerden etkilenmezler.

Örneğin bir raporlama yapıyorsun ve 3 tablodan veri çekiyorsun. Ama anasayfada da bu 3 tablodan veri çekiyorsun.
with (nolock) kullanmadığın sürece o sorgunun işi bitmeden sittin sene görüntülenemez o sayfa. Hele transaction kullanılıyorsa mutlaka olması gereken bir özelliktir.

Örnek:
select * from kullanici as k with(nolock)
left join kullanici_izinleri as ki with(nolock) on ki.kullaniciId = k.kullaniciId
left join kullanici_resimleri as kr with(nolock) on kr.kullaniciId = k.kullaniciId
where ....
Bunun yanında curl işlemini asynchronous(asenkron) yaparsan kullanıcıyı yine kilitlemezsin. Ama sql'de with(nolock) özelliğini mutlaka kullan. İster tek tablo olsun ister birden farzla farketmez.