Rumah > masalah biasa > teks badan

Apakah tahap pengasingan transaksi lalai mysql?

zbt
Lepaskan: 2023-08-08 11:01:17
asal
4708 orang telah melayarinya

Tahap pengasingan transaksi lalai mysql ialah Read Uncommitted, Read Committed, Repeable Read dan Serializable. 1. Read Uncommitted, yang bermaksud bahawa di bawah tahap pengasingan ini, urus niaga boleh membaca data yang tidak dikomit untuk transaksi lain 2. Read Committed, yang bermaksud bahawa di bawah tahap pengasingan ini, urus niaga hanya boleh membaca data yang telah diserahkan 3. Bacaan Berulang dsb .

Apakah tahap pengasingan transaksi lalai mysql?

MySQL mempunyai empat tahap pengasingan transaksi lalai, iaitu Read Uncommitted (read uncommitted), Read Committed (read committed), Repeatable Baca (bacaan berulang) dan Bersiri (bersiri). Setiap tahap pengasingan akan diperkenalkan dan diterangkan secara terperinci di bawah.

1 Baca Tanpa Iltizam: bermakna di bawah tahap pengasingan ini, urus niaga boleh membaca data tanpa komitmen daripada urus niaga lain. Tahap pengasingan ini adalah yang paling rendah dan akan menyebabkan bacaan kotor (Dirty Baca) soalan. Bacaan kotor bermakna selepas transaksi membaca data daripada transaksi tidak komited lain, jika transaksi itu digulung semula, data yang dibaca akan menjadi tidak sah.

2 Komited: bermakna di bawah tahap pengasingan ini, urus niaga hanya boleh membaca data yang diserahkan. Tahap pengasingan ini boleh menyelesaikan masalah bacaan kotor, tetapi akan menyebabkan bacaan tidak boleh berulang. Baca) soalan. Bacaan tidak boleh berulang bermakna apabila data yang sama dibaca beberapa kali dalam transaksi, hasil bacaan tidak konsisten.

3 Baca: bermakna di bawah tahap pengasingan ini, urus niaga boleh membaca data yang sama berulang kali dan hasil bacaan sentiasa konsisten. Tahap pengasingan ini boleh menyelesaikan masalah bacaan tidak boleh berulang, tetapi ia akan menyebabkan bacaan hantu (Phantom Baca) soalan. Bacaan hantu bermakna pertanyaan yang sama dilaksanakan beberapa kali dalam transaksi dan data baharu yang memenuhi syarat ditambahkan pada set hasil.

4 Boleh disiri: bermakna di bawah tahap pengasingan ini, urus niaga dilaksanakan secara berurutan dan pelaksanaan serentak tidak dibenarkan. Tahap pengasingan ini boleh menyelesaikan masalah bacaan hantu, tetapi ia akan menjejaskan prestasi serentak sistem.

Selain daripada empat tahap pengasingan di atas, MySQL juga menyediakan tahap pengasingan khas secara lalai, iaitu tahap pengasingan lalai (Default). Tahap pengasingan lalai ditentukan oleh pembolehubah global sql_mode pelayan. Jika sql_mode ialah STRICT_ALL_TABLES, STRICT_TRANS_TABLES atau gabungan STRICT_ALL_TABLES dan STRICT_TRANS_TABLES, tahap pengasingan lalai ialah REPEATABLE BACA. Jika sql_mode tidak mengandungi nilai di atas, tahap pengasingan lalai ialah READ COMMITTED.

Dalam aplikasi praktikal, adalah sangat penting untuk memilih tahap pengasingan yang sesuai. Jika aplikasi mempunyai keperluan yang lebih tinggi untuk ketekalan data, anda boleh memilih tahap pengasingan yang lebih tinggi, seperti Boleh Diulang Baca atau Boleh Bersiri. Jika anda mempunyai keperluan ketekalan data yang rendah dan keperluan prestasi serentak yang tinggi, anda boleh memilih tahap pengasingan yang lebih rendah, seperti Read Committed.

Selain itu, MySQL juga menyediakan kaedah untuk menetapkan tahap pengasingan transaksi. Tahap pengasingan transaksi boleh diubah suai dengan menetapkan tahap sesi atau peringkat global pembolehubah transaction_isolation. Sebagai contoh, anda boleh mengubah suai tahap pengasingan kepada Baca menggunakan pernyataan berikut Komited:

SET SESI TRANSAKSI TAHAP PENGASINGAN DIBACA;

Ringkasnya, tahap pengasingan transaksi lalai MySQL termasuk Baca Tidak Komited, Baca Komited, Boleh Ulang Baca, Boleh bersiri dan tahap pengasingan lalai. Memilih tahap pengasingan yang sesuai adalah penting untuk memastikan ketekalan data dan meningkatkan prestasi serentak.

Atas ialah kandungan terperinci Apakah tahap pengasingan transaksi lalai mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan