1,每個數據庫對應一個文件夾,文件夾名和庫名相同;
公司主營業務:網站設計、網站制作、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯建站是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯建站推出連山免費做網站回饋大家。
2,(單獨的表空間中) 每張表對應幾個文件,文件名和表名相同,innodb引擎中對應兩個文件,后綴名為:frm、ibd;
frm文件:存儲的是表結構信息。
ibd文件:存儲的是表里的數據、索引等。
二叉樹:當不平衡時,單邊增長,可能退化為線性
紅黑樹:數據量大時,深度不可控
AVL樹:相比較與紅黑樹,嚴格平衡,但是增刪情況下,通過旋轉再平衡的開銷過大,適合查找場景多的應用
Hash: 不支持范圍查找
平衡的多路查找樹,一個結點存放多個元素。
與紅黑樹相比,在相同的的節點的情況下,一顆B/B+樹的高度遠遠小于紅黑樹的高度(在下面B/B+樹的性能分析中會提到)。B/B+樹上操作的時間通常由存取磁盤的時間和CPU計算時間這兩部分構成,而CPU的速度非常快,所以B樹的操作效率取決于訪問磁盤的次數,關鍵字總數相同的情況下B樹的高度越小,磁盤I/O所花的時間越少。
m階:節點中,子節點數的最大值(子節點數,不是結點存放元素)
1. 樹中每個結點最多m個子樹(最多m-1個關鍵字,兩個子樹夾一個關鍵字)
2. 根節點最少有1個關鍵字
3. 非根結點最少m/2個子樹(m/2 - 1個關鍵字)
4. 每個關鍵字排序
5. 所有的葉子結點位于同一層
6. 每個結點都存有索引和數據
(1)簡介
B+樹是應文件系統所需而產生的一種B樹的變形樹(文件的目錄一級一級索引,只有最底層的葉子節點(文件)保存數據)非葉子節點只保存索引,不保存實際的數據,數據都保存在葉子節點中。所有的非葉子節點都可以看成索引部分!
(2)B+樹的性質(下面提到的都是和B樹不相同的性質)
1. b+樹有兩種類型的結點:
1.1 內部結點(索引結點,非葉結點): 只存索引,不存數據
1.2 葉子結點 (存數據)
2. 內部結點 和 葉子結點的 key遞增排序
3. 每個葉結點存有相鄰葉結點的指針
4. 父結點存有右孩子第一個元素索引
1.磁盤io代價低:b+樹的非葉結點只存儲索引,不存儲數據,單一結點能存放的索引數更多,樹更矮胖
2. b+樹查詢效率穩定:所有查詢必須到葉節點
3. b+樹葉子節點為有序表,效率更高,支持范圍查詢。
正常MySQL底層存儲索引默認使用的是B+樹,但是如果設立了分區表的情況下,他的底層是如何進行存儲的呢?
查看MySQL對應的自己電腦上面的安裝目錄下,是有一個ibd文件,用innblock和bcview兩個小工具,(github上可以搜到),便可以實現對ibd文件的查看,通過對比著沒有設立分區的表的ibd文件,就可以看出來
分區表會將索引分成分區個個數的索引樹來存儲索引,也就是分開存儲。
本文題目:mysql底層怎么存儲 mysql底層存儲原理
文章位置:http://vcdvsql.cn/article16/dopedgg.html
成都網站建設公司_創新互聯,為您提供做網站、定制網站、網站制作、微信小程序、關鍵詞優化、網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯