Mekanisme dan amalan pengoptimuman penimbal tulis dua kali dalam MySQL
Dalam MySQL, apabila enjin storan InnoDB digunakan dan fungsi tulis dua kali didayakan, mekanisme penimbal dua tulis akan digunakan untuk meningkatkan keselamatan data. Artikel ini menerangkan cara penimbalan dua tulis berfungsi dan menyediakan beberapa contoh praktikal.
Mekanisme penimbal tulis berganda digunakan terutamanya untuk pratulis data ke kawasan cakera yang dipanggil "penampan tulis dua kali" sebelum menulis data ke fail data enjin storan InnoDB. Dalam keadaan biasa, data ditulis ke fail data sebelum ia dianggap berjaya. Jika ralat berlaku semasa menulis fail data, ia boleh dipulihkan melalui data dalam "penimbal tulis dua kali" untuk memastikan ketekalan dan ketahanan data.
Untuk menunjukkan kesan pengoptimuman penimbalan dua tulis, kami akan mencipta jadual pangkalan data ringkas dan menggunakan mekanisme penimbalan dua tulis untuk menjalankan ujian prestasi.
Pertama, buat jadual pangkalan data bernama "pekerja" dan tambahkan beberapa data.
CIPTA pekerja JADUAL (
id INT PRIMARY KUNCI,
nama VARCHAR(100),
umur INT
);
MASUKKAN KE DALAM NILAI pekerja (1, 'John Doe', 30);
MASUKKAN KE DALAM, NILAI pekerja (2 'Jane Smith', 25);
Seterusnya, kami akan mendayakan mekanisme penimbalan tulis dua kali.
SET GLOBAL innodb_doublewrite = HIDUP;
Kemudian, kami boleh menguji faedah prestasi penimbalan tulis dua kali dengan melaksanakan kod berikut.
--Matikan penimbal tulis dua kali
SET GLOBAL innodb_doublewrite = OFF;
--Pemasa mula
SET @masa_mula = SEKARANG();
--Lakukan operasi kemas kini
KEMASKINI SET pekerja umur = umur +
SET @akhir_masa = SEKARANG();
PILIH TIMEDIFF(@end_time, @start_time) SEBAGAI execution_time;
SET GLOBAL innodb_doublewrite = HIDUP;
SET @masa_mula = SEKARANG();
KEMASKINI SET pekerja umur = umur +
- - Masa tamat
-- Kira masa pelaksanaan
Dengan membandingkan keputusan dua ujian prestasi, kita dapat melihat dua kali ganda itu penulisan didayakan Selepas mekanisme penimbal, masa pelaksanaan operasi kemas kini dikurangkan dengan ketara. Ini kerana mekanisme penimbal dua tulis boleh mengurangkan operasi IO dan meningkatkan kecekapan penulisan data.
Perlu diingatkan bahawa mekanisme penimbal tulis dua kali mungkin menduduki sejumlah ruang cakera. Jika anda mempunyai ruang cakera yang terhad, pertimbangkan untuk melaraskan saiz penimbal dua tulis atau matikan ciri ini.
RingkasanAtas ialah kandungan terperinci Mekanisme dan amalan pengoptimuman penimbal tulis dua kali dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!