国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > mysql索引結(jié)構(gòu)有哪些,各自的優(yōu)劣是什么?

mysql索引結(jié)構(gòu)有哪些,各自的優(yōu)劣是什么?

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-11 05:22:24 1696972944

一、mysql索引結(jié)構(gòu)

B+樹:

B樹是?個(gè)平衡的多叉樹,一個(gè)節(jié)點(diǎn)可以有多個(gè)數(shù)據(jù)內(nèi)容,這樣就不會(huì)出現(xiàn)二叉樹那樣數(shù)據(jù)龐大的時(shí)候,樹的高度比較高的情況,查詢的次數(shù)就會(huì)少,B+樹葉子節(jié)點(diǎn)間有指針相互鏈接,并且會(huì)維護(hù)了索引的順序的,所以有順序、有相鄰的引用,這樣在執(zhí)行范圍查找的時(shí)候,就可以左右移動(dòng),范圍查找的效率就會(huì)高很多。所以數(shù)據(jù)龐大的時(shí)候,B+樹被?泛使用,數(shù)據(jù)庫、?件系統(tǒng)等場(chǎng)景。

哈希索引:

哈希索引就是采??定的哈希算法,把鍵值換算成新的哈希值,檢索時(shí)不需要類似B+樹那樣從根節(jié)點(diǎn)到葉?節(jié)點(diǎn)逐級(jí)查找,只需?次哈希算法即可?刻定位到相應(yīng)的位置,速度?常快。

如果是等值查詢,那么哈希索引明顯有絕對(duì)優(yōu)勢(shì),因?yàn)橹恍枰?jīng)過?次算法即可找到相應(yīng)的鍵值;

前提是鍵值都是唯?的。如果鍵值不是唯?的,就需要先找到該鍵所在位置,然后再根據(jù)鏈表往后掃描,直 到找到相應(yīng)的數(shù)據(jù);

如果是范圍查詢檢索,這時(shí)候哈希索引就毫??武之地了,因?yàn)樵仁怯行虻逆I值,經(jīng)過哈希算法后,有可能變成不連續(xù)的了,就沒辦法再利?索引完成范圍查詢檢索;

哈希索引也沒辦法利?索引完成排序,以及l(fā)ike ‘xxx%’ 這樣的部分模糊查詢(這種部分模糊查詢,其實(shí)本質(zhì)上也是范圍查詢);

在有?量重復(fù)鍵值情況下,哈希索引的效率也是極低的,因?yàn)榇嬖诠E鲎矄栴}。

紅黑樹:

紅黑樹也可以查詢很快,都是紅黑樹在數(shù)據(jù)很多的情況下,樹的高度是很高的,所以也不用來做索引了。

普通二叉樹這就更加不行了,高度不說了,它還不會(huì)平衡。

如果123456這樣按照順序添加,1永遠(yuǎn)是跟節(jié)點(diǎn),依次增加就之后在樹的右邊加。

延伸閱讀:

二、索引及其優(yōu)缺點(diǎn)

索引本質(zhì):索引是數(shù)據(jù)結(jié)構(gòu)。這些數(shù)據(jù)結(jié)構(gòu)以某種方式指向數(shù)據(jù),這樣可以在這些數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上實(shí)現(xiàn)高效查找算法。

索引是在存儲(chǔ)引擎實(shí)現(xiàn)的,因此每種存儲(chǔ)引擎的索引不一定完全相同,并且每種存儲(chǔ)引擎不一定支持所有類型的索引。同時(shí)存儲(chǔ)引擎可以定義每個(gè)表的最大索引數(shù)和最大索引長度。所有存儲(chǔ)引擎支持每個(gè)表至少16個(gè)索引,總索引長度至少為256字節(jié)。

優(yōu)點(diǎn):

1、提高數(shù)據(jù)檢索的效率,降低數(shù)據(jù)庫的I/O成本

2、通過創(chuàng)建少數(shù)索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的少數(shù)性

3、可以加速表和表之間的連接。對(duì)于有依賴關(guān)系的子表和父表聯(lián)合查詢時(shí),可以提高查詢速度

4、在使用分組和排序子句進(jìn)行數(shù)據(jù)查詢時(shí),可以顯著減少查詢中分組和排序的時(shí)間,降低CPU的消耗

缺點(diǎn):

1、創(chuàng)建索引和維護(hù)索引要耗費(fèi)時(shí)間

2、索引需要占磁盤空間,存儲(chǔ)在磁盤上

3、雖然索引大大提高了查詢 速度,同時(shí)也會(huì)降低更新表的速度

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Layer2是什么和Layer1有哪些區(qū)別?

一、Layer2是什么和Layer1的區(qū)別所謂Layer1和Layer2也就是名列前茅層和第二層。其中第0層對(duì)應(yīng)OSI模型的底層協(xié)議。Layer2是什么和Layer1的區(qū)別是...詳情>>

2023-10-11 07:12:58
數(shù)據(jù)結(jié)構(gòu)中KMP算法是什么?

一、數(shù)據(jù)結(jié)構(gòu)中KMP算法KMP算法介紹KMP算法是一種改進(jìn)的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人們稱它為克努特—莫...詳情>>

2023-10-11 07:11:44
計(jì)算機(jī)網(wǎng)絡(luò)管理軟件有哪些好用?

1、Nagios CoreNagios Core在全球范圍內(nèi)用于幫助監(jiān)控網(wǎng)絡(luò)和跟蹤各種基礎(chǔ)設(shè)施。它的主動(dòng)監(jiān)控功能可以檢測(cè)它負(fù)責(zé)監(jiān)控的服務(wù)器上的網(wǎng)絡(luò)設(shè)備、服務(wù)...詳情>>

2023-10-11 06:33:55
oa系統(tǒng)怎么注冊(cè)?

一、選擇合適的OA系統(tǒng)首先,需要選擇一款適合自己公司的OA系統(tǒng)。市面上有很多OA系統(tǒng),如用友、金蝶等,不同的OA系統(tǒng)有不同的功能和價(jià)格。在選擇...詳情>>

2023-10-11 06:32:35
大整數(shù)類型和一般的整數(shù)類型相比各有什么優(yōu)劣?

一、大整數(shù)類型和一般的整數(shù)類型相比大整數(shù)類型和一般的整數(shù)類型相比優(yōu)點(diǎn)是不會(huì)溢出,能表示任意長度的數(shù)字做各種精度的運(yùn)算。缺點(diǎn)是沒有直接的...詳情>>

2023-10-11 06:22:59