Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melakukan Pertanyaan SELECT Tidak Mengunci dalam MySQL?

Bagaimanakah Saya Boleh Melakukan Pertanyaan SELECT Tidak Mengunci dalam MySQL?

Mary-Kate Olsen
Lepaskan: 2024-12-15 16:56:15
asal
199 orang telah melayarinya

How Can I Perform Non-Locking SELECT Queries in MySQL?

Pertanyaan SELECT Tidak Mengunci dalam MySQL

Dalam MySQL, penguncian yang kerap semasa operasi SELECT boleh timbul apabila jadual diubah suai secara serentak. Untuk mengurangkan isu ini, pertimbangkan untuk menggunakan teknik yang membenarkan bacaan tanpa kunci.

Menggunakan READ UNCOMMITTED

Salah satu pendekatan ialah menetapkan tahap pengasingan transaksi kepada READ UNCOMMITTED, yang membenarkan bacaan tanpa memperoleh kunci. Walau bagaimanapun, pilihan ini mungkin tidak sesuai untuk hamba kerana ia menjejaskan integriti data.

SQL Equivalent of WITH (NOLOCK)

Untuk kesetaraan dengan WITH (NOLOCK) klausa dalam Microsoft SQL Server, MySQL menawarkan pelbagai langkah proses:

  1. Mulakan transaksi dengan READ UNCOMMITTED pengasingan:

    SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
    Salin selepas log masuk
  2. Lakukan pertanyaan PILIH:

    SELECT * FROM TABLE_NAME;
    Salin selepas log masuk
  3. Tetapkan semula tahap pengasingan transaksi kembali kepada BOLEH DIULANG BACA:

    SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
    Salin selepas log masuk

Pelaksanaan Pertanyaan Tidak Mengunci Yang Diperbaiki

Michael Mior mencadangkan versi yang dipertingkatkan bagi pelaksanaan pertanyaan tidak mengunci:

  1. Tetapkan tahap pengasingan transaksi kepada BACA TIDAK KOMITED:

    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
    Salin selepas log masuk
  2. Lakukan pertanyaan PILIH:

    SELECT * FROM TABLE_NAME ;
    Salin selepas log masuk
  3. Lakukan transaksi:

    COMMIT ;
    Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Pertanyaan SELECT Tidak Mengunci dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan