Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
SQL Server 2025 Optimized Locking: TID Locking, Lock After Qualification ve Davranış Değişiklikleri
Optimized locking açıldığında 1.000 satırı güncelleyen transaction 1.017 lock yerine tek bir XACT lock tutar ve escalation olmaz; RCSI de açıksa LAQ, UPDATE'in predicate'ini son commit edilmiş versiyonda lock almadan değerlendirir, blocking kalkar ama bazı eşzamanlı işlerin sonucu değişebilir. ADR ön koşulu, yeni LCK_M_S_XACT wait'leri, LAQ'ı kapatan hint'ler, deadlock graph'taki xactlock ve 2019/2022 farkı gerçek ölçümlerle.
Isolation Level'lar ve Row Versioning: READ COMMITTED, RCSI, SNAPSHOT, REPEATABLE READ ve SERIALIZABLE
Isolation level'lar, eşzamanlı transaction'ların hangi anomaliyi görebileceğini locking ya da row versioning ile belirler: varsayılan READ COMMITTED okuyucuyu yazana bekletir, RCSI son commit edilmiş sürümü verir, SNAPSHOT transaction başındaki görüntüyü tutar ve çakışmada 3960 verir. İki oturumlu deneylerle dirty read, non-repeatable read, phantom, lost update, write skew, versioning'in 14 byte'lık bedeli ve .NET'ten IsolationLevel seçmek.