中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql索引數據結構一般如何使用

發布時間:2020-06-05 16:58:44 來源:PHP中文網 閱讀:301 作者:三月 欄目:MySQL數據庫

下文主要給大家帶來mysql索引數據結構一般如何使用,希望這些內容能夠帶給大家實際用處,這也是我編輯mysql索引數據結構一般如何使用這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。                                                           

MyISAM使用B-Tree實現主鍵索引、唯一索引和非主鍵索引。

InnoDB中非主鍵索引使用的是B-Tree數據結構,而主鍵索引使用的是B+Tree。

mysql索引數據結構一般如何使用

B-Tree

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

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

B-tree有以下特性:

1、關鍵字集合分布在整棵樹中;

2、任何一個關鍵字出現且只出現在一個結點中;

3、搜索有可能在非葉子結點結束;

4、其搜索性能等價于在關鍵字全集內做一次二分查找;

5、自動層次控制;

B+Tree

不同的存儲引擎可能使用不同的數據結構存儲,InnoDB使用的是B+Tree;

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

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

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

這兩種處理索引的數據結構的不同之處:

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

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

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

對于以上關于mysql索引數據結構一般如何使用,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續關注我們的行業資訊,相信你會喜歡上這些內容的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泸定县| 佛冈县| 鄂伦春自治旗| 秀山| 卢氏县| 渝北区| 那坡县| 岳阳市| 平阴县| 车险| 黔江区| 五家渠市| 谷城县| 璧山县| 和平区| 当阳市| 布拖县| 扶风县| 辽阳市| 虞城县| 宜城市| 安福县| 西林县| 安乡县| 利辛县| 东明县| 固阳县| 巴马| 台南市| 毕节市| 巫溪县| 连江县| 昆山市| 城固县| 北海市| 和林格尔县| 绥棱县| 普洱| 荣成市| 阜康市| 庐江县|