當(dāng)前位置:
首頁(yè) >
mysql索引(b+tree)小记
發(fā)布時(shí)間:2024/7/23
42
豆豆
生活随笔
收集整理的這篇文章主要介紹了
mysql索引(b+tree)小记
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
索引:快速檢索的數(shù)據(jù)結(jié)構(gòu),缺點(diǎn)是插入時(shí)要?jiǎng)?chuàng)建索引樹(shù),所以索引不能太多
1.hash O(1)
時(shí)間復(fù)雜度低
有沖突,不支持范圍查詢,不支持排序
2.二叉樹(shù)BST 平衡樹(shù):O(logn)
缺點(diǎn):當(dāng)樹(shù)不平衡時(shí),相對(duì)于沒(méi)有索引
3.紅黑數(shù)
相對(duì)二叉樹(shù),相對(duì)平衡
插入逐漸增大時(shí),也會(huì)有右傾,也不是很平衡
4.b+tree
多路自平衡搜索樹(shù),解決紅黑樹(shù)和二叉樹(shù)的缺點(diǎn)
Degree(3–>7)
底部是鏈表
天然契合innoDb的緩存(index page),減少io次數(shù)(利用空間局部性)
mysql索引:(引擎:表級(jí)別的)
myISAM引擎(非聚集索引)
frm文件:創(chuàng)建表的文件,
myd文件:表的數(shù)據(jù)文件
myi:表的索引文件
非聚集就是索引和數(shù)據(jù)不在同一個(gè)文件
樹(shù)的子節(jié)點(diǎn),存的是數(shù)據(jù)的物理地址
innoDB引擎(聚集索引)(鎖級(jí)別高,支持事務(wù))
frm文件:創(chuàng)建表的文件
idb文件:索引+數(shù)據(jù)
聚集就是索引和數(shù)據(jù)在同一個(gè)文件
主鍵索引樹(shù)的子節(jié)點(diǎn),存的是數(shù)據(jù)內(nèi)容
非主鍵索引樹(shù)的子節(jié)點(diǎn),存的是數(shù)據(jù)主鍵(偷懶性:降低存儲(chǔ)空間,減少索引的創(chuàng)建,提高插入效率)
重復(fù)度高的字段,不建議用索引,原因是用不了mysql緩存,io次數(shù)沒(méi)有變
總結(jié)
以上是生活随笔為你收集整理的mysql索引(b+tree)小记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [前台]---关于input标签的val
- 下一篇: [数据库]-----记一次mysql分库