普通索引和唯一索引選擇

查詢過程

普通索引:查找滿足條件的第一個(gè)記錄后,接著查找下一個(gè)記錄,直到查到第一個(gè)不滿足條件的記錄。

唯一索引:由于索引定義了唯一性,查找到第一個(gè)滿足條件的記錄后,就會(huì)停止繼續(xù)檢索。

更新過程

為了說明普通索引和唯一索引對更新語句性能的影響這個(gè)問題,先介紹一下change buffer

更新一個(gè)數(shù)據(jù)頁時(shí),這個(gè)數(shù)據(jù)頁還沒有在buffer pool時(shí),InooDB會(huì)將這些更新操作緩存在change buffer中,下次查詢需要訪問這個(gè)數(shù)據(jù)頁的時(shí)候,將數(shù)據(jù)頁讀入內(nèi)存,然后執(zhí)行change buffer中與這個(gè)頁有關(guān)的操作
如果能夠?qū)⒏虏僮飨扔涗浽赾hange buffer,可以減少磁盤讀寫操作,語句(例如,具有大量DML操作的應(yīng)用程序,例如批量插入)執(zhí)行速度會(huì)得到明顯的提升。而且,數(shù)據(jù)讀入內(nèi)存是需要占用buffer pool的,所以這種方式還能夠避免占用內(nèi)存,提高內(nèi)存利用率



參考鏈接:https://dev.mysql.com/doc/refman/8.0/en/innodb-change-buffer.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容