Saya sedang meneliti perbedaan antara SQL Server READ COMMITTED SNAPSHOT
dan SNAPSHOT
tingkat isolasi dan menemukan sumber daya berikut:
Memilih Tingkat Isolasi Berbasis Versi Baris
Untuk sebagian besar aplikasi, baca isolasi yang dilakukan menggunakan versi baris direkomendasikan daripada isolasi snapshot karena alasan berikut:
Ini mengkonsumsi ruang tempdb lebih sedikit daripada isolasi snapshot.
Isolasi snapshot rentan terhadap pembaruan konflik yang tidak berlaku untuk membaca isolasi yang dilakukan menggunakan versi baris. Ketika transaksi yang berjalan di bawah isolasi snapshot membaca data yang kemudian dimodifikasi oleh transaksi lain, pembaruan oleh transaksi snapshot ke data yang sama menyebabkan konflik pembaruan dan transaksi berakhir dan dibatalkan. Ini bukan masalah dengan isolasi yang dilakukan baca menggunakan versi baris.
Saya agak baru dalam topik ini, tetapi sepertinya saya tidak bisa memahami dua poin utama dari tautan di atas.
Mengapa ruang tempdb berbeda untuk mode ini? Apakah satu toko lebih banyak versi granular daripada yang lain?
Mengapa isolasi snapshot lebih rentan untuk memperbarui konflik?