Rumah >pangkalan data >tutorial mysql >Baca Komited vs. Bacaan Boleh Diulang dalam SQL Server: Apakah Perbezaannya?
Walaupun tahap pengasingan "Read Committed" dan "Repeatable Read" SQL Server kedua-duanya memastikan ketekalan data, perbezaan utamanya tidak boleh diabaikan.
Baca Tahap pengasingan komited
Read Committed memastikan bahawa data yang dibaca oleh transaksi dilakukan sebelum transaksi dapat dilihat. Walau bagaimanapun, jika data dikemas kini oleh urus niaga serentak dan data yang sama dibaca semula oleh urus niaga itu, konsistensi hasil tidak boleh dijamin.
Tahap pengasingan Bacaan Boleh Diulang
Sebaliknya, Bacaan Boleh Ulang memberikan tahap konsistensi yang lebih tinggi. Ia bukan sahaja menjamin bahawa data yang dibaca adalah dilakukan, tetapi juga bahawa data itu kekal tidak berubah sepanjang transaksi. Walaupun transaksi lain mengemas kini data, hasil bacaan asal kekal konsisten.
Contoh
Pertimbangkan senario berikut, jadual T mengandungi lajur C dengan nilai '1'.
<code class="language-sql">BEGIN TRANSACTION; SELECT * FROM T; WAITFOR DELAY '00:01:00'; SELECT * FROM T; COMMIT;</code>
Tahap pengasingan lain
Selain Read Committed dan Repeatable Read, SQL Server juga menyediakan tahap pengasingan lain:
Pilih tahap pengasingan yang sesuai
Pilihan tahap pengasingan bergantung pada keperluan aplikasi tertentu. Tahap pengasingan yang lebih tinggi, sambil memastikan konsistensi, juga boleh memberi kesan kepada kebolehskalaan dan prestasi. Read Committed ialah tahap pengasingan yang sesuai untuk aplikasi yang boleh bertolak ansur dengan bacaan yang tidak boleh diulang. Bacaan Boleh Diulang disyorkan untuk aplikasi yang memerlukan konsistensi dan tidak boleh bertolak ansur dengan perubahan data semasa pelaksanaan transaksi.
Atas ialah kandungan terperinci Baca Komited vs. Bacaan Boleh Diulang dalam SQL Server: Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!