Prinsip dan amalan aplikasi kunci MySQL
Abstrak: MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan, yang mempunyai keupayaan pemprosesan serentak yang berkuasa. Untuk memastikan ketekalan dan integriti data apabila berbilang pengguna mengakses pangkalan data pada masa yang sama, MySQL menggunakan mekanisme kunci untuk mengawal akses kepada sumber yang dikongsi. Artikel ini akan memperkenalkan prinsip kunci MySQL, termasuk tahap kunci, klasifikasi kunci dan kaedah pengendalian konflik kunci, dan menggabungkannya dengan contoh kod khusus untuk menunjukkan amalan aplikasi kunci MySQL.
4.1 Kunci peringkat meja: kunci seluruh jadual, sesuai untuk senario di mana keseluruhan jadual dikendalikan, seperti sandaran, perubahan struktur jadual, dsb.
4.2 Kunci peringkat baris: Kunci baris tertentu atau beberapa baris dalam jadual, sesuai untuk senario di mana satu atau sejumlah kecil data dikendalikan, seperti pertanyaan, kemas kini, dsb.
5.1 Menunggu kunci: Apabila permintaan tidak dapat memperoleh kunci yang diperlukan, MySQL akan menambah permintaan pada baris gilir menunggu dan menunggu kunci dilepaskan sebelum diproses.
5.2 Pulangan segera: Apabila permintaan tidak dapat mendapatkan kunci yang diperlukan, MySQL akan segera mengembalikan mesej ralat tanpa memasuki baris gilir menunggu.
6.1 Buat jadual ujian
Mula-mula, kami mencipta jadual ujian untuk mensimulasikan senario operasi data sebenar.
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
6.2 Menambah data
Seterusnya, mari tambahkan beberapa data ujian pada jadual.
INSERT INTO `user` (`name`, `age`) VALUES ('张三', 20), ('李四', 25), ('王五', 30);
6.3 Gunakan kunci eksklusif untuk mengemas kini data
Kemudian, kami menggunakan kunci eksklusif untuk mengemas kini data.
START TRANSACTION; SELECT * FROM `user` WHERE `age` = 25 FOR UPDATE; UPDATE `user` SET `age` = 26 WHERE `age` = 25; COMMIT;
6.4 Gunakan kunci kongsi untuk membaca data
Akhir sekali, kami menggunakan kunci kongsi untuk membaca data.
START TRANSACTION; SELECT * FROM `user` WHERE `age` = 26 LOCK IN SHARE MODE; COMMIT;
Bahan rujukan:
1. "Manual Rujukan MySQL 5.7"
2 "MySQL Berprestasi Tinggi: Pengoptimuman, Sandaran dan Replikasi"
Di atas adalah pengenalan kepada prinsip dan amalan aplikasi MySQL harap ia akan berguna kepada semua orang Membantu apabila menggunakan MySQL untuk pemprosesan konkurensi pangkalan data.
Atas ialah kandungan terperinci Prinsip dan amalan aplikasi kunci MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!