下文主要給大家?guī)?lái)mysql索引數(shù)據(jù)結(jié)構(gòu)一般如何使用,希望這些內(nèi)容能夠帶給大家實(shí)際用處,這也是我編輯mysql索引數(shù)據(jù)結(jié)構(gòu)一般如何使用這篇文章的主要目的。好了,廢話不多說(shuō),大家直接看下文吧。
創(chuàng)新互聯(lián)主營(yíng)五大連池網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),五大連池h5小程序制作搭建,五大連池網(wǎng)站營(yíng)銷推廣歡迎五大連池等地區(qū)企業(yè)咨詢MyISAM使用B-Tree實(shí)現(xiàn)主鍵索引、唯一索引和非主鍵索引。
InnoDB中非主鍵索引使用的是B-Tree數(shù)據(jù)結(jié)構(gòu),而主鍵索引使用的是B+Tree。
B-Tree
B-tree(多路搜索樹(shù),并不是二叉的)是一種常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)。使用B-tree結(jié)構(gòu)可以顯著減少定位記錄時(shí)所經(jīng)歷的中間過(guò)程,從而加快存取速度。按照翻譯,B 通常認(rèn)為是Balance的簡(jiǎn)稱。這個(gè)數(shù)據(jù)結(jié)構(gòu)一般用于數(shù)據(jù)庫(kù)的索引,綜合效率較高。
性能(推薦學(xué)習(xí):MySQL視頻教程)
B-tree有以下特性:
1、關(guān)鍵字集合分布在整棵樹(shù)中;
2、任何一個(gè)關(guān)鍵字出現(xiàn)且只出現(xiàn)在一個(gè)結(jié)點(diǎn)中;
3、搜索有可能在非葉子結(jié)點(diǎn)結(jié)束;
4、其搜索性能等價(jià)于在關(guān)鍵字全集內(nèi)做一次二分查找;
5、自動(dòng)層次控制;
B+Tree
不同的存儲(chǔ)引擎可能使用不同的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),InnoDB使用的是B+Tree;
那什么是B+Tree呢?
B+Tree是應(yīng)文件系統(tǒng)所需而出的一種B-Tree的變型樹(shù),一棵m階的B+樹(shù)和m階的B-樹(shù)的差異在于:
B+和B-(即B)是因?yàn)槊總€(gè)結(jié)點(diǎn)上的關(guān)鍵字不同。一個(gè)多一個(gè),一個(gè)少一個(gè)。
對(duì)于B+樹(shù),其結(jié)點(diǎn)結(jié)構(gòu)與B-tree相同,不同的是各結(jié)點(diǎn)的關(guān)鍵字和可以擁有的子結(jié)點(diǎn)數(shù)。如m階B+樹(shù)中,每個(gè)結(jié)點(diǎn)至多可以擁有m個(gè)子結(jié)點(diǎn)。非根結(jié)點(diǎn)至少有[m/2]個(gè)子結(jié)點(diǎn),而關(guān)鍵字個(gè)數(shù)比B-tree多一個(gè),為[m/2]~m。
這兩種處理索引的數(shù)據(jù)結(jié)構(gòu)的不同之處:
1。B樹(shù)中同一鍵值不會(huì)出現(xiàn)多次,并且它有可能出現(xiàn)在葉結(jié)點(diǎn),也有可能出現(xiàn)在非葉結(jié)點(diǎn)中。而B(niǎo)+樹(shù)的鍵一定會(huì)出現(xiàn)在葉結(jié)點(diǎn)中,并且有可能在非葉結(jié)點(diǎn)中也有可能重復(fù)出現(xiàn),以維持B+樹(shù)的平衡。
2。因?yàn)锽樹(shù)鍵位置不定,且在整個(gè)樹(shù)結(jié)構(gòu)中只出現(xiàn)一次,雖然可以節(jié)省存儲(chǔ)空間,但使得在插入、刪除操作復(fù)雜度明顯增加。B+樹(shù)相比來(lái)說(shuō)是一種較好的折中。
3。B樹(shù)的查詢效率與鍵在樹(shù)中的位置有關(guān),大時(shí)間復(fù)雜度與B+樹(shù)相同(在葉結(jié)點(diǎn)的時(shí)候),最小時(shí)間復(fù)雜度為1(在根結(jié)點(diǎn)的時(shí)候)。而B(niǎo)+樹(shù)的時(shí)間復(fù)雜度對(duì)某建成的樹(shù)是固定的。
對(duì)于以上關(guān)于mysql索引數(shù)據(jù)結(jié)構(gòu)一般如何使用,大家是不是覺(jué)得非常有幫助。如果需要了解更多內(nèi)容,請(qǐng)繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會(huì)喜歡上這些內(nèi)容的。