Rumah >pangkalan data >tutorial mysql >Bagaimana Anda Boleh Melaksanakan Penguncian Optimis dalam MySQL?
Penguncian optimistik ialah amalan yang digunakan dalam kawalan serentak untuk menghalang berbilang pengguna daripada mengemas kini data yang sama secara serentak. Tidak seperti penguncian pesimis, yang menganggap bahawa konflik akan berlaku dan mengunci data pada permulaan transaksi, penguncian optimistik mengandaikan bahawa konflik jarang berlaku dan membenarkan kemas kini tanpa mengunci.
MySQL tidak tidak asli melaksanakan penguncian optimistik. Walau bagaimanapun, ia boleh dilaksanakan menggunakan arahan SQL standard dan pendekatan lajur versi:
<code class="sql">CREATE TABLE theTable ( id INT NOT NULL AUTO_INCREMENT, val1 INT NOT NULL, val2 INT NOT NULL, version INT NOT NULL DEFAULT 0 );</code>
Pertanyaan Mengunci Optimis:
<code class="sql">UPDATE theTable SET val1 = @newVal1, val2 = @newVal2, version = version + 1 WHERE id = @id AND version = @oldVersion;</code>
Menyemak Konflik :
Selepas kemas kini, nilai AffectedRows disemak:
Tahap pengasingan transaksi memainkan peranan dalam penguncian optimistik. Dalam tahap pengasingan READ_COMMITTED, proses lain tidak boleh membaca kemas kini tanpa komitmen, yang menghalang konflik daripada berlaku.
Penguncian optimis sesuai untuk situasi dengan kemas kini yang jarang berlaku dan kebarangkalian konflik yang rendah. Ia sering digunakan dalam aplikasi web di mana sesi pengguna yang singkat mengurangkan kemungkinan kemas kini serentak.
Atas ialah kandungan terperinci Bagaimana Anda Boleh Melaksanakan Penguncian Optimis dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!