mysql索引(b+tree)小记
生活随笔
收集整理的這篇文章主要介紹了
mysql索引(b+tree)小记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
索引:快速檢索的數據結構,缺點是插入時要創建索引樹,所以索引不能太多
1.hash O(1)
時間復雜度低
有沖突,不支持范圍查詢,不支持排序
2.二叉樹BST 平衡樹:O(logn)
缺點:當樹不平衡時,相對于沒有索引
3.紅黑數
相對二叉樹,相對平衡
插入逐漸增大時,也會有右傾,也不是很平衡
4.b+tree
多路自平衡搜索樹,解決紅黑樹和二叉樹的缺點
Degree(3–>7)
底部是鏈表
天然契合innoDb的緩存(index page),減少io次數(利用空間局部性)
mysql索引:(引擎:表級別的)
myISAM引擎(非聚集索引)
frm文件:創建表的文件,
myd文件:表的數據文件
myi:表的索引文件
非聚集就是索引和數據不在同一個文件
樹的子節點,存的是數據的物理地址
innoDB引擎(聚集索引)(鎖級別高,支持事務)
frm文件:創建表的文件
idb文件:索引+數據
聚集就是索引和數據在同一個文件
主鍵索引樹的子節點,存的是數據內容
非主鍵索引樹的子節點,存的是數據主鍵(偷懶性:降低存儲空間,減少索引的創建,提高插入效率)
重復度高的字段,不建議用索引,原因是用不了mysql緩存,io次數沒有變
總結
以上是生活随笔為你收集整理的mysql索引(b+tree)小记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [前台]---关于input标签的val
- 下一篇: 碧雪情天服务器地址源如何修改,稀有游戏《