Untuk melaksanakan tahap pengasingan komited baca dalam MySQL, anda boleh menetapkan tahap REPEATABLE READ atau READ COMMITTED. BACA BERULANG memastikan bahawa data yang dibaca tidak akan diubah suai semasa transaksi, manakala READ COMMITTED memastikan bahawa data yang dibaca tidak akan diubah suai oleh transaksi yang dilakukan. MySQL melaksanakan tahap pengasingan ini menggunakan MVCC, kunci baris dan mekanisme promosi kunci untuk mengurangkan pertikaian kunci dan meningkatkan prestasi. Untuk menetapkan tahap pengasingan, gunakan arahan berikut: TETAPKAN TAHAP PENGASINGAN TRANSAKSI [BACAAN BOLEH DIULANG | KOMIT BACA
Pelaksanaan komited baca MySQL
Tahap pengasingan baca yang dilakukan adalah memastikan pengasingan pangkalan data kandungan tidak akan diubah suai oleh transaksi lain yang sedang berjalan. Dalam MySQL, read committed boleh dicapai dengan menetapkan tahap pengasingan REPEATABLE READ
atau READ COMMITTED
. . Dalam erti kata lain, selepas transaksi mula membaca data, data tidak akan berubah sehingga ia dilakukan. Tahap pengasingan ini memberikan ketekalan data yang lebih tinggi, tetapi juga boleh menyebabkan masalah pertikaian kunci dan prestasi. REPEATABLE READ
或 READ COMMITTED
隔离级别来实现。
REPEATABLE READ
REPEATABLE READ
隔离级别保证事务在运行期间读取的数据不会被其他事务修改。也就是说,事务在开始读取数据后,直到提交之前,数据不会发生变化。此隔离级别提供了较高的数据一致性,但也可能导致锁争用和性能问题。
READ COMMITTED
READ COMMITTED
READ COMMITTED
READ COMMITTED
Tahap pengasingan memastikan bahawa data yang dibaca oleh transaksi tidak akan diubah suai oleh transaksi komited lain. Dengan kata lain, data yang dibaca oleh transaksi mungkin telah diubah suai sebelum transaksi lain dilakukan. Tahap pengasingan ini memberikan perbalahan kunci yang lebih rendah dan prestasi yang lebih baik, tetapi juga boleh menyebabkan isu bacaan yang tidak boleh berulang.
Peningkatan kunci: Apabila pemegang kunci kongsi cuba mengubah suai baris, kunci akan dinaik taraf kepada kunci eksklusif. Ini menghalang transaksi lain daripada membaca pengubahsuaian yang telah dilakukan oleh transaksi lain.
Contoh Penggunaan
Tetapkan tahap pengasingan komited baca dalam MySQL: 🎜<code class="sql">SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;</code>
<code class="sql">SET TRANSACTION ISOLATION LEVEL READ COMMITTED;</code>
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan bacaan yang dihantar dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!