日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql数据结构_mysql的底层数据结构

發(fā)布時間:2024/8/23 数据库 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据结构_mysql的底层数据结构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.數(shù)據(jù)結(jié)構(gòu)

1.?二叉樹

特點:左側(cè)子節(jié)點比父節(jié)點小,右側(cè)子節(jié)點比父節(jié)點大(對于同一個父節(jié)點下的兩個子節(jié)點)

缺點:對于一直遞增得數(shù)據(jù)不能存在該數(shù)據(jù)結(jié)構(gòu)中,會變成鏈表,不能降低樹的高度

圖 1-1

?

圖1-2

2.?紅黑樹

特點:左側(cè)子節(jié)點比父節(jié)點小,右側(cè)子節(jié)點比父節(jié)點大、或者相等(對于同一個父節(jié)點下的兩個子節(jié)點),對于一直遞增的數(shù)據(jù)可以自動平衡

缺點:對于百萬條數(shù)據(jù),樹的高度還是太高

3.?Hash

優(yōu)點:對數(shù)據(jù)進行Hash(散列)運算,主流的Hash算法有MD5、SHA256等等,然后將哈希結(jié)果作為文件指針可以從索引文件中獲得數(shù)據(jù)的文件指針,再到數(shù)據(jù)文件中獲取到數(shù)據(jù),按照這樣的設(shè)計,我們在查找where Col2 = 22的記錄時只需要對22做哈希運算得到該索引所對應(yīng)那行數(shù)據(jù)的文件指針,從而在MySQL的數(shù)據(jù)文件中定位到目標(biāo)記錄,查詢效率非常高。

缺點:無法解決范圍查詢(Range)的場景,比如 select count(id) from sus_user where id>10;因此Hash這種索引結(jié)構(gòu)只能針對字段名=目標(biāo)值的場景使用。不適合模糊查詢(like)的場景

4.?B-

特點:葉節(jié)點具有相同的深度,葉節(jié)點的指針為空,所有索引元素不重復(fù),節(jié)點中的數(shù)據(jù)從左到右遞增排列

缺點:存儲的數(shù)據(jù)量沒有B+樹多,B樹不支持range-query

(區(qū)間查詢)

? ? ? ? ? ? ? ? ?

圖1-3

5.?B+

特點:非葉子節(jié)點不存儲data,只存儲索引(冗余),可以放更多的索引,葉子節(jié)點包含所有索引字段,葉子節(jié)點用指針鏈接,提高區(qū)間訪問的性能。

與B-樹對比B+樹有一個最大的好處,方便掃庫,B樹必須用中序遍歷的方法按序掃庫,而B+樹直接從葉子結(jié)點挨個掃一遍就完了,B+樹支持range-query(區(qū)間查詢)非常方便,而B樹不支持。

?

圖 1-4

總結(jié)

以上是生活随笔為你收集整理的mysql数据结构_mysql的底层数据结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。