Jurang Identiti Pelayan SQL: Memahami Kesan Guling Balik
Jurang yang tidak dijangka dalam jujukan identiti (autokenaikan) SQL Server boleh muncul selepas penarikan balik transaksi, terutamanya apabila berurusan dengan sisipan. Ini bukan pepijat; ia adalah pilihan reka bentuk yang mengutamakan prestasi.
Pertimbangkan senario: transaksi .NET dimasukkan ke dalam jadual SQL Server 2005 dengan kunci utama identiti. Jika ralat mencetuskan Rollback()
, baris yang disisipkan akan dialih keluar. Walau bagaimanapun, nilai identiti sudah meningkat, meninggalkan jurang.
Tingkah laku bukan transaksi ini menghalang kesesakan prestasi. Bayangkan dua transaksi serentak menggunakan ID nombor automatik dalam jadual A:
Jika Transaksi 2 bermula selepas Transaksi 1, ia perlu menunggu sehingga Transaksi 1 selesai untuk mendapatkan nombor automatik seterusnya untuk jadual A. Pendekatan bukan transaksi mengelakkan penyekatan ini.
Oleh itu, jika nilai identiti berurutan sangat penting, kaedah alternatif disyorkan. Reka bentuk sistem mengutamakan keselarasan berbanding penomboran urutan yang ketat.
Atas ialah kandungan terperinci Mengapa Jurang Identiti Pelayan SQL Muncul Selepas Pengunduran Transaksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!