中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

什么是mysql索引的數(shù)據(jù)結(jié)構(gòu)

本篇文章給大家主要講的是關(guān)于什么是MySQL索引的數(shù)據(jù)結(jié)構(gòu)的內(nèi)容,感興趣的話就一起來看看這篇文章吧,相信看完什么是mysql索引的數(shù)據(jù)結(jié)構(gòu)對大家多少有點參考價值吧。

創(chuàng)新互聯(lián)是一家專業(yè)提供天壇街道企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、做網(wǎng)站、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為天壇街道眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。

什么是mysql索引的數(shù)據(jù)結(jié)構(gòu)

一、簡介

mysql索引的數(shù)據(jù)結(jié)構(gòu)是樹,常用的存儲引擎innodb采用的是B+Tree。這里對B+Tree及其相關(guān)的

查找樹進行簡要介紹。

二、各種查找樹

1、二叉排序樹(也稱為二叉查找樹)

二叉排序樹是最簡單的查找樹,特點:

a)是一棵二叉樹;

b)左子樹所有結(jié)點的值小于它的父結(jié)點的值,右子樹所有結(jié)點的值大于它的父結(jié)點的值。

2、平衡二叉樹(又稱AVL樹)

平衡二叉樹是二叉排序樹的基礎(chǔ)上,對樹的深度進行了限制,從而減少了查找比較的次數(shù),

特點:

a)是一棵二叉樹;

b)左子樹所有結(jié)點的值小于它的父結(jié)點的值,右子樹所有結(jié)點的值大于它的父結(jié)點的值;

c)左子樹與右子樹的深度差在-1、0、1內(nèi),否則對子樹進行旋轉(zhuǎn)調(diào)整。

3、B-樹(B-Tree)

B-樹是多路平衡查找樹,相對于平衡二叉樹,對父結(jié)點的直接子結(jié)點個數(shù),不再僅限于2,

可以指定m(自定義),這樣可以在樹的深度不大量增加的前提下,保存更多的結(jié)點。

B-樹是通常在文件系統(tǒng)中使用。

特點:

a)樹的每個結(jié)點最多有m(自定義)子結(jié)點;

b)若根結(jié)點不是葉子結(jié)點,則至少有兩個子結(jié)點;

c) 除根結(jié)點外的所有非葉子結(jié)點,至少有m/2上取整個子結(jié)點;

d)父結(jié)點下的最左邊子樹所有結(jié)點的值均小于父結(jié)點最小值,

最右邊子樹所有結(jié)點的值均大于父結(jié)點最大值,

其余中間子樹所有結(jié)點的值則介于指針的父結(jié)點兩邊的值;

e)所有葉子結(jié)點都在同一層;

注意:所有結(jié)點均帶有值

4、B+樹(B+Tree)

B+樹是B-樹變體,相對于B-樹,葉子結(jié)點的值包含了所有的值,所有父結(jié)點的值是重復(fù)了葉子結(jié)點的值,

父結(jié)點只起索引查找的作用,同時所葉子結(jié)點也也構(gòu)成了一條有序的鏈表。

mysql中存儲引擎為innodb的索引,采用的數(shù)據(jù)結(jié)構(gòu)即是B+樹。

特點:

a)有m個子結(jié)點的父結(jié)點就有m個關(guān)鍵字;

b)所有葉子結(jié)點包含了所有關(guān)鍵字(值),且構(gòu)成由小到大的有序鏈表;

c) 所有非葉子結(jié)點起索引作用,結(jié)點僅包含子樹所有結(jié)點的最大值;

d)所有葉子結(jié)點都在同一層;

注意:葉子結(jié)點包含了所有的關(guān)鍵字(值)。

5、B*樹(B*Tree)

B*樹是B+樹的變體,相對B+樹,增加了對同一層非葉子結(jié)點的指針,即同一層非葉子結(jié)點也構(gòu)成了一條鏈表。

三、總結(jié)

綜上,上述各種查找樹是相互關(guān)聯(lián)的。

歸結(jié)到mysql中innodb索引,采用的是B+樹,如聚簇索引,是通過主鍵來聚集數(shù)據(jù),采用B+樹實現(xiàn),

這即是一種索引,也是mysql的一種數(shù)據(jù)存儲結(jié)構(gòu),葉子結(jié)點包含了所有的數(shù)據(jù),非葉子結(jié)點僅起索引作用(若

沒有定義主鍵,則innodb會隱式定義一個主鍵來作為聚簇索引)。

以上關(guān)于什么是mysql索引的數(shù)據(jù)結(jié)構(gòu)詳細(xì)內(nèi)容,對大家有幫助嗎?如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。

標(biāo)題名稱:什么是mysql索引的數(shù)據(jù)結(jié)構(gòu)
URL網(wǎng)址:http://www.rwnh.cn/article22/jdjhcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站維護定制開發(fā)、微信公眾號響應(yīng)式網(wǎng)站、定制網(wǎng)站

廣告

聲明:本網(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)

h5響應(yīng)式網(wǎng)站建設(shè)
石林| 铁力市| 库伦旗| 繁昌县| 炎陵县| 临澧县| 嘉善县| 徐水县| 金堂县| 西贡区| 漳浦县| 恭城| 长子县| 吴堡县| 确山县| 靖边县| 三明市| 封开县| 彝良县| 安新县| 塔河县| 瑞昌市| 张家界市| 汶上县| 抚顺市| 徐州市| 阿巴嘎旗| 大姚县| 德州市| 仪陇县| 称多县| 韩城市| 阳高县| 神池县| 桃园县| 富蕴县| 西吉县| 治多县| 韶关市| 澳门| 平顶山市|