Verimli hareketleri kodlama

Hareketleri olabildiğince kısa tutmak önemlidir.Bir işlem başlatıldığında, bir veritabanı yönetim sistemi (dbms) hareket, tutarlılık, yalıtım ve sürekliliğini (Asit) özelliklerini korumak için hareket sonuna kadar pek çok kaynak basılı tutmanız gerekir.Verilerde değişiklik, değiştirilen satırların satır okuma gelen diğer bir hareket engelleyen özel kilit ile korunması gerekir ve hareket tamamlandıktan veya geri alınana kadar özel kilit yönlendirilmelidir.Bağlı işlem yalıtım düzey ayarları, select deyimleri hareket tamamlandıktan veya geri alınana kadar tutulması gereken kilit satın alır.Özellikle sistemlerinde ile çok sayıda kullanıcı, hareketleri kaynaklar arasında eşzamanlı bağlantı için kilitleme çekişme azaltmak mümkün olduğunca kısa tutulmalıdır.Uzun süre çalışan, verimli hareketleri küçük sayıdaki kullanıcıları ile ilgili bir sorun olabilir, ancak bunlar binlerce kullanıcıya sahip bir sistem içinde intolerable.

Kodlama yönergeleri

Verimli hareketleri kodlama kuralları şunlardır:

  • Kullanıcıların giriş hareketi sırasında gerektirmez.

    İşlem başlamadan önce gerekli tüm giriş kullanıcılarından alın.Ek kullanıcı girdisi gerekli işlem sırasında ise, geçerli hareket geri almak almak ve kullanıcı girişi sağlanan sonra hareketi yeniden.Kullanıcılar hemen yanıt bile, bu İnsan tepki süreleri üzerinde gelişir bilgisayarı hızlarda yavaştır.Hareket tarafından tutulan tüm kaynakları bir çok uzun için tutulan saat, engelleme sorunlarını neden olma olasılığı vardır.Kullanıcıların yanıt hareket bunlar, hangi aşağıdakiler olabilir yanıt kadar önemli kaynakların kilitleme etkin kalır birkaç dakika ya da saat için.

  • Bir işlem üzerinden veri olabildiğince göz atarken açın.

    Tüm ön veri çözümlemesini tamamlayana kadar işlemleri başlatılmış olmalıdır.

  • Hareketin olabildiğince kısa tutun.

    Yapılması gereken değişiklikler öğrendikten sonra bir hareketi başlatmak, deiiklik ifadelerini yürütmek ve hemen yürütme veya geri almak almak.Gerekirse önce hareket açın.

  • Engellemelerini azaltmak için salt okunur sorguları için bir satır sürüm oluşturma tabanlı yalıtım düzey kullanmayı düşünün.Daha fazla bilgi için bkz: Satır sürüm oluşturma tabanlı yalıtım düzeyleri kullanma.

  • Akıllı kullanımı, alt işlem yalıtım düzeyleri olun.

    Birçok uygulama meşgul okuma kaydedilmiş bir kullanmak için kodlanmış işlem yalıtım düzey.Tüm hareketlerin seri hale getirilebilir gerektiren işlem yalıtım düzey.

  • Eşzamanlılık seçenekleri, iyimser eşzamanlılık seçenekleri gibi daha düşük bir imleç akıllı kullanımı olun.

    "Bunu okuduktan sonra düşük bir olasılık eşzamanlı güncelleştirmeleri içeren bir sistem yükünü postalarla bir arada sırada başka birileri verilerinizi değiştirildi" Hata okuma gibi her zaman satır kilitleme yüke daha düşük olabilir.

  • En az miktarda veri olası bir işleme sırasında erişim.

    Bu böylece azaltma kilitli satır sayısını azalttığınızda çekişme hareketleri arasında.

Eşzamanlılık ve kaynak sorunlarını önleme

Eşzamanlılık ve kaynak sorunları önlemek için örtülü hareketleri dikkatle yönetin.Örtülü hareketleri, sonraki kullanırken Transact-SQL sonra COMMIT veya rollback deyim otomatik olarak başlayan yeni bir hareket.Bu uygulama verilerine atarken veya kullanıcı girişi başlasa bile açılacak yeni bir hareket neden olabilir.Bir hareket bir kez daha veri değişiklikleri korumak için gerekli kadar veri değişiklikleri korumak için gereken son işlem tamamlandıktan sonra örtülü hareketleri devre dışı bırakın.Bu işlem sağlar SQL Server Veritabanı Altyapısı veri ve giriş kullanıcı sırasında uygulama otomatik yürütme modu kullan gözatma

Buna ek olarak, ne zaman anlık görüntü yalıtım düzey olan etkin yeni bir hareket kilitleri tutulacağı rağmen uzun süren işlem eski sürümlerini den kaldırılmasını engeller tempdb.

Ayrıca bkz.

Kavramlar