mysql索引數(shù)據(jù)結(jié)構(gòu)一般如何使用-創(chuàng)新互聯(lián)

下文主要給大家?guī)韒ysql索引數(shù)據(jù)結(jié)構(gòu)一般如何使用,希望這些內(nèi)容能夠帶給大家實際用處,這也是我編輯mysql索引數(shù)據(jù)結(jié)構(gòu)一般如何使用這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。                                                         

創(chuàng)新互聯(lián)主營五大連池網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),五大連池h5小程序制作搭建,五大連池網(wǎng)站營銷推廣歡迎五大連池等地區(qū)企業(yè)咨詢

MyISAM使用B-Tree實現(xiàn)主鍵索引、唯一索引和非主鍵索引。

InnoDB中非主鍵索引使用的是B-Tree數(shù)據(jù)結(jié)構(gòu),而主鍵索引使用的是B+Tree。

mysql索引數(shù)據(jù)結(jié)構(gòu)一般如何使用

B-Tree

B-tree(多路搜索樹,并不是二叉的)是一種常見的數(shù)據(jù)結(jié)構(gòu)。使用B-tree結(jié)構(gòu)可以顯著減少定位記錄時所經(jīng)歷的中間過程,從而加快存取速度。按照翻譯,B 通常認為是Balance的簡稱。這個數(shù)據(jù)結(jié)構(gòu)一般用于數(shù)據(jù)庫的索引,綜合效率較高。

性能(推薦學習:MySQL視頻教程)

B-tree有以下特性:

1、關(guān)鍵字集合分布在整棵樹中;

2、任何一個關(guān)鍵字出現(xiàn)且只出現(xiàn)在一個結(jié)點中;

3、搜索有可能在非葉子結(jié)點結(jié)束;

4、其搜索性能等價于在關(guān)鍵字全集內(nèi)做一次二分查找;

5、自動層次控制;

B+Tree

不同的存儲引擎可能使用不同的數(shù)據(jù)結(jié)構(gòu)存儲,InnoDB使用的是B+Tree;

那什么是B+Tree呢?
B+Tree是應(yīng)文件系統(tǒng)所需而出的一種B-Tree的變型樹,一棵m階的B+樹和m階的B-樹的差異在于:

B+和B-(即B)是因為每個結(jié)點上的關(guān)鍵字不同。一個多一個,一個少一個。

對于B+樹,其結(jié)點結(jié)構(gòu)與B-tree相同,不同的是各結(jié)點的關(guān)鍵字和可以擁有的子結(jié)點數(shù)。如m階B+樹中,每個結(jié)點至多可以擁有m個子結(jié)點。非根結(jié)點至少有[m/2]個子結(jié)點,而關(guān)鍵字個數(shù)比B-tree多一個,為[m/2]~m。

這兩種處理索引的數(shù)據(jù)結(jié)構(gòu)的不同之處:

1。B樹中同一鍵值不會出現(xiàn)多次,并且它有可能出現(xiàn)在葉結(jié)點,也有可能出現(xiàn)在非葉結(jié)點中。而B+樹的鍵一定會出現(xiàn)在葉結(jié)點中,并且有可能在非葉結(jié)點中也有可能重復(fù)出現(xiàn),以維持B+樹的平衡。

2。因為B樹鍵位置不定,且在整個樹結(jié)構(gòu)中只出現(xiàn)一次,雖然可以節(jié)省存儲空間,但使得在插入、刪除操作復(fù)雜度明顯增加。B+樹相比來說是一種較好的折中。

3。B樹的查詢效率與鍵在樹中的位置有關(guān),大時間復(fù)雜度與B+樹相同(在葉結(jié)點的時候),最小時間復(fù)雜度為1(在根結(jié)點的時候)。而B+樹的時間復(fù)雜度對某建成的樹是固定的。

對于以上關(guān)于mysql索引數(shù)據(jù)結(jié)構(gòu)一般如何使用,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會喜歡上這些內(nèi)容的。

網(wǎng)站題目:mysql索引數(shù)據(jù)結(jié)構(gòu)一般如何使用-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://muchs.cn/article8/cdoiip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號移動網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站、ChatGPT、小程序開發(fā)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)