Jika kandungan halaman data memori dan halaman data cakera berbeza dalam MySQL, maka halaman memori ini akan dipanggil halaman kotor. Senario untuk mengepam halaman kotor: 1. Apabila log buat semula penuh, MySQL akan menggantung semua operasi kemas kini dan menyegerakkan halaman kotor yang sepadan dengan bahagian log ini ke cakera 2. Apabila memori sistem tidak mencukupi, beberapa halaman data memerlukan untuk dihapuskan. Jika halaman kotor adalah halaman kotor, anda mesti menyegerakkan halaman kotor ke cakera 3. MySQL berfikir bahawa apabila sistem melahu, ia akan menyegerakkan data memori ke cakera apabila ada peluang; . Tiada masalah prestasi dalam kes ini.
Halaman bersih: data dalam memori dan cakera adalah konsisten
Halaman kotor: Data dalam memori dan cakera tidak konsisten
Biasanya operasi kemas kini pantas , semua bertulis kepada ingatan dan log.
Ia tidak 不会马上同步
pergi ke halaman data cakera Pada masa ini, kandungan halaman data memori dan halaman data cakera tidak konsisten, yang kami panggil 脏页
.
Ini melibatkan mekanisme pengurusan memori mysql
Penimbal mengandungi tiga kategori senarai ini. Mereka ialah: LRUList
, FreeList
, FlushList
.
Apabila pangkalan data baru sahaja dimulakan, 没有数据页
berada dalam senarai LRU. FreeList menyimpan halaman percuma.
Apabila halaman perlu dibaca, halaman percuma akan diperolehi daripada FreeList Selepas membaca data, ia akan diletakkan dalam LRUlist
Nota: Pada masa ini, halaman ini berada dalam LRUlist dan FlushList.Ringkasan: LRUList (urus halaman yang telah dibaca) dan FreeList (urus halaman percuma) digunakan untuk mengurus ketersediaan halaman (uruskan halaman kotor) digunakan untuk mengurus muat semula halaman kotorSemasa proses menyegerakkan data halaman kotor ke cakera, jika pernyataan SQL dilaksanakan pada halaman data cakera. Kelajuan pelaksanaan akan menjadi perlahan
akan muncul. Jadi ia perlu disiram ke cakera. 数据库宕机,内存数据丢失
menyegarkan halaman kotor dalam ingatan ke cakera mengikut peraturan tertentu Dengan operasi penyegaran, saiz penimbal Kedua-dua masalah dan saiz log buat semula boleh diselesaikan.
Kesan yang akan ditimbulkannya
Jika log buat semula penuh
cuba elakkan. Jika tidak, kemas kini keseluruhan sistem akan berhenti. redo log 写满
, anda mesti menunggu log sepadan dengan 此时写的性能变为 0
sebelum ia boleh dikemas kini Ini akan menyebabkan penyataan sql dilaksanakan dengan sangat perlahan. 脏页同步完成
Atas ialah kandungan terperinci Apakah yang dimaksudkan dengan halaman kotor mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!