Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mengubah suai tahap pengasingan transaksi dalam mysql

Bagaimana untuk mengubah suai tahap pengasingan transaksi dalam mysql

青灯夜游
Lepaskan: 2022-02-17 17:54:04
asal
13101 orang telah melayarinya

Kaedah pengubahsuaian: 1. Laksanakan penyataan "peringkat transaksi tahap pengasingan sesi;" dalam tetingkap arahan 2. Buka fail "mysql.ini" dan tambahkan "transaction-isolation=transaction level"; kenyataan Itu sahaja.

Bagaimana untuk mengubah suai tahap pengasingan transaksi dalam mysql

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.

tahap pengasingan transaksi mysql

Tahap pengasingan transaksi terbahagi kepada: baca tanpa komitmen (baca tanpa komitmen), baca komited (baca komited ), boleh dibaca berulang (boleh dibaca berulang), boleh bersiri (boleh bersiri).

  • Read Uncommitted (Read uncommitted content)

    Pada tahap pengasingan ini, semua urus niaga boleh melihat keputusan pelaksanaan urus niaga lain yang tidak komited. Tahap pengasingan ini jarang digunakan dalam aplikasi praktikal kerana prestasinya tidak jauh lebih baik daripada tahap lain. Membaca data tanpa komitmen juga dipanggil bacaan kotor.

  • Read Commited

    Ini ialah tahap pengasingan lalai untuk kebanyakan sistem pangkalan data (tetapi bukan lalai MySQL). Ia memenuhi definisi mudah pengasingan: transaksi hanya boleh melihat perubahan yang dibuat oleh transaksi yang komited. Tahap pengasingan ini juga menyokong apa yang dipanggil bacaan tidak boleh berulang, kerana kejadian lain bagi transaksi yang sama mungkin mempunyai komitmen baharu semasa pemprosesan contoh, jadi pilihan yang sama mungkin mengembalikan hasil yang berbeza.

  • Baca Berulang (boleh dibaca semula)

    Ini ialah tahap pengasingan urus niaga lalai MySQL. Ia memastikan bahawa berbilang kejadian transaksi yang sama akan membaca data secara serentak baris data. Secara teori, bagaimanapun, ini akan membawa kepada satu lagi masalah perit: membaca hantu. Ringkasnya, bacaan hantu bermakna apabila pengguna membaca julat baris data tertentu, transaksi lain memasukkan baris baharu dalam julat Apabila pengguna membaca baris data dalam julat itu semula, dia akan mendapati terdapat " Hantu” baharu. OK. Enjin storan InnoDB dan Falcon menyelesaikan masalah ini melalui mekanisme Multiversion Concurrency Control (MVCC).

  • Boleh bersiri (boleh bersiri)

    Ini adalah tahap pengasingan tertinggi. Ia menyelesaikan masalah bacaan hantu dengan memaksa transaksi dipesan supaya tidak bercanggah antara satu sama lain. . Ringkasnya, ia menambah kunci dikongsi pada setiap baris data yang dibaca. Pada tahap ini, banyak masa tamat dan pertikaian kunci boleh berlaku.

mysql Ubah suai tahap pengasingan transaksi

Kaedah 1: Laksanakan pengubahsuaian arahan

//查看当前事物级别:
SELECT @@tx_isolation;
Salin selepas log masuk

Bagaimana untuk mengubah suai tahap pengasingan transaksi dalam mysql

//设置mysql的隔离级别:
set session transaction isolation level 需要设置的事务隔离级别
Salin selepas log masuk

Contoh

//设置read uncommitted级别:
set session transaction isolation level read uncommitted;

//设置read committed级别:
set session transaction isolation level read committed;

//设置repeatable read级别:
set session transaction isolation level repeatable read;

//设置serializable级别:
set session transaction isolation level serializable;
Salin selepas log masuk

Kaedah 2: ubah suai konfigurasi mysql.ini

Buka fail konfigurasi mysql.ini dan tambah

#可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.
[mysqld]
transaction-isolation = REPEATABLE-READ
Salin selepas log masuk

pada penghujung lalai global di sini ialah REPEATABLE-READ Malah, MySQL juga lalai ke tahap ini

[Cadangan yang berkaitan : tutorial Video mysql

Atas ialah kandungan terperinci Bagaimana untuk mengubah suai tahap pengasingan transaksi dalam 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