• 04-01-2013, 14:41:35
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar,

    bir sayfam var bu sayfam açıldıgında 50 sn boyunca sql ve curl işlemleri oluyor. Bu sırada ziyaretçi sayfada gezinebilmesi için tıklarsa bir sayfaya farklı pencerede acılıyor ama önceki sayfa işlemi bitmediği için gelicek sayfa açılmıyor. Sqlde bu sınırı nasıl kaldırabilirim veya farklı bir rakam girebilirim. Kısacası şunu istiyorum bir ziyaretçi 2 sayfayı aynı anda açsa ilk olarak sql e bağlancak sayfa 1. si o tamamen close etmeden sqli diğeri girmiyor. ben aynı anda 2 sininde girebilmesini bu limitin ortadan kalkmasını istiyorum. Bilgili bir arkadaşımız var mı bu konuda
  • 04-01-2013, 15:09:40
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    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.