1、事務(wù)和鎖的關(guān)系;
在MySQL事務(wù)中,只要開(kāi)始了一次事務(wù),就會(huì)自動(dòng)加上一個(gè)共享鎖(Shared Lock)。這個(gè)鎖會(huì)在事務(wù)結(jié)束時(shí)自動(dòng)釋放。如果在事務(wù)中需要更新某個(gè)數(shù)據(jù)對(duì)象,那么MySQL會(huì)將該數(shù)據(jù)對(duì)象的共享鎖升級(jí)為排他鎖(Exclusive Lock),這可以確保在其他事務(wù)中對(duì)該數(shù)據(jù)對(duì)象的訪問(wèn)被阻塞,直到當(dāng)前事務(wù)提交或回滾。
2、mvcc和事物
? ? ? ?mvcc是一個(gè)多版本并發(fā)控制,提高mysql的讀寫(xiě)并發(fā),是基于視圖和undolog日志(版本鏈roll pointer)來(lái)實(shí)現(xiàn)的;
? ?mvcc中,可以有多個(gè)事物版本,而事物又伴隨著鎖(innodb),和讀已提交不一樣,可重復(fù)讀一個(gè)事物內(nèi)的多查詢是在一個(gè)視圖內(nèi)完成,
3、undolog,redolog,binlog的執(zhí)行順序?
? ??undo log:回滾日志,原子性,實(shí)現(xiàn)事務(wù)回滾和MVCC,引擎層實(shí)現(xiàn),事務(wù)之前產(chǎn)生
? ? redo log:重做日志,崩潰恢復(fù),持久性 ,引擎層實(shí)現(xiàn),事務(wù)開(kāi)始時(shí)產(chǎn)生
? ? bin log:二進(jìn)制日志,?主從復(fù)制,數(shù)據(jù)備份,Server層實(shí)現(xiàn),事務(wù)commit前產(chǎn)生
日志詳情:https://www.cnblogs.com/wy123/p/8365234.html
4、ref,eq_ref,index,range,alll區(qū)別
eq_ref? ?: 主鍵或者唯一索引的等值查詢??
?ref?:?非唯一索引的等值查詢??(主鍵也是唯一索引)
?range? :索引的范圍查詢
?index? :全索引掃描(另外:type=index extra = using index 代表索引覆蓋,即不需要回表)
?all 全表掃描(通常沒(méi)有建索引的列)
5、三大特性;文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-620215.html
?插入緩沖changebuffer:【changebuffer 主要用于普通索引的,主鍵索引用buffer pool】
?雙寫(xiě)doublewrite
自適應(yīng)哈希索引adaptive hash index文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-620215.html
到了這里,關(guān)于mysql innodb一些知識(shí)點(diǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!