MYSQL索引结构学习笔记
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                MYSQL索引结构学习笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                ?mysql 的數據、索引、DDL 等數據,都是以文件形式存儲的,
? 所以導致每次查詢都是一次I/O操作,當I/O操作過大時,會嚴重影響效率
MYSQL索引結構:
?????????? mysql使用的是B+樹來存儲索引的,為什么不用其他的呢?
二叉樹 -> 根據二叉樹的概念,當數據是遞增的時候,它的節點會一直增大下去
紅黑樹 -> 平衡二叉樹 -> 每個節點存一個值,同樣會導致節點過多
B 樹?? -> 每個節點可存多個值(解決紅黑樹太深的問題) ?->但是涉及到范圍查詢的時候,也會慢
B+樹?? -> 變種B樹 -> 葉子節點 有指針相連 (方便范圍查詢)
?
MYSQL引擎存儲結構:
myIsam 引擎 : 存儲數據單獨一個文件 .MYD? 存儲索引單獨一個文件 .MYI
innerdb引擎 : 一個文件 同時存 索引+數據 .idb? (聚集索引)? 尋址快,
又為什么所有的data都存在葉子結點上?
mysql 默認每個節點存16K數據,如果每個節點都存 key+value 會導致每個節點的key變少,從而導致節點增多 ,導致樹H變高。
?
?
分享一個不錯的數據結構學習網站:
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
總結
以上是生活随笔為你收集整理的MYSQL索引结构学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Maven项目中使用JUnit进行单元测
 - 下一篇: UML入门之类图教程