mysql原子性是怎么實(shí)現(xiàn)的 為啥Redis/Mongo這么快,就不能直接替代mysql嗎?
為啥Redis/Mongo這么快,就不能直接替代mysql嗎?你好,我是一名互聯(lián)網(wǎng)行業(yè)開(kāi)發(fā)工程師,同時(shí)也是高質(zhì)量vlog領(lǐng)域的創(chuàng)造者。歡迎關(guān)注我mysql全表掃描是否會(huì)造成鎖表呢?了解mysql中有兩
為啥Redis/Mongo這么快,就不能直接替代mysql嗎?
你好,我是一名互聯(lián)網(wǎng)行業(yè)開(kāi)發(fā)工程師,同時(shí)也是高質(zhì)量vlog領(lǐng)域的創(chuàng)造者。歡迎關(guān)注我
mysql全表掃描是否會(huì)造成鎖表呢?
了解mysql中有兩種鎖,共享鎖和獨(dú)占鎖,即讀鎖和寫鎖。MySQL遵循acid特性,即MySQL的所有操作都是原子的。然后MySQL在讀寫時(shí)會(huì)根據(jù)作用域進(jìn)行鎖定。讀取時(shí)自動(dòng)添加讀鎖,寫入時(shí)自動(dòng)添加寫鎖?,F(xiàn)在您正在掃描整個(gè)表,整個(gè)表將被讀取并鎖定。但是,其他用戶也可以讀取此表的數(shù)據(jù),但不能寫入。另一個(gè)例外是MySQL實(shí)現(xiàn)了這種機(jī)制。當(dāng)您掃描整個(gè)表時(shí),我們可以在表的末尾插入數(shù)據(jù),因?yàn)樵诖鎯?chǔ)方面,它沒(méi)有被鎖定。你看到了嗎?