Aracılığıyla paylaş


Dinamik kilitleme

Satır kilitlerinin gibi alt düzey kilitlerinin kullanılarak, eşzamanlılık iki hareketleri aynı anda aynı olarak parça veri üzerinde kilit ister olasılığını azaltarak artırır.Alt düzey kilitler kullanarak kilitler ve bunları yönetmek için gereken kaynak sayısını artırır.Üst düzey bir tablo veya sayfa kilidi'ni kullanarak, genel gider, ancak eşzamanlılık azaltmayı pahasına düşürür.

Diagram showing cost versus granularity

The Microsoft SQL Server Database Engine uses a dynamic locking strategy to determine the most cost-effective locks.The Database Engine automatically determines what locks are most appropriate when the query is executed, based on the characteristics of the schema and query.Örneğin, kilitleme yükünü azaltmak için , iyileştirici sayfa düzeyinde kilit dizin içinde bir dizin tarama yapılırken seçebilirsiniz.

Dinamik kilitleme aşağıdaki avantajları vardır:

  • Veritabanı yönetimi Basitleştirilmiş.Veritabanı yöneticileri kilit yükseltme eşiklerini ayarlamak zorunda değildir.

  • Performans artışı.The Database Engine minimizes system overhead by using locks appropriate to the task.

  • Uygulama geliştiricileri, geliştirme hakkında öðrenmeye.The Database Engine adjusts locking automatically.

Içinde SQL Server 2008, kilit yükseltme davranışını LOCK_ESCALATION seçeneğinin giriş ile değiştirildi. Daha fazla bilgi için bkz: LOCK_ESCALATION seçeneği TABLO DEĞİŞTİRME.