亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

江门市| 冀州市| 夹江县| 武冈市| 遵化市| 洛宁县| 诸城市| 泽州县| 湖州市| 宁乡县| 宝丰县| 镇沅| 河池市| 嵊州市| 达尔| 安阳县| 长宁区| 阿拉善右旗| 辽中县| 通榆县| 库尔勒市| 峨边| 抚松县| 神木县| 雅安市| 婺源县| 邻水| 靖西县| 沅江市| 济源市| 苗栗县| 大荔县| 伊川县| 商都县| 尉犁县| 唐河县| 九台市| 平塘县| 兰溪市| 靖远县| 沧州市|