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

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > mysql索引結構有哪些,各自的優劣是什么?

mysql索引結構有哪些,各自的優劣是什么?

來源:千鋒教育
發布人:xqq
時間: 2023-10-11 05:22:24 1696972944

一、mysql索引結構

B+樹:

B樹是?個平衡的多叉樹,一個節點可以有多個數據內容,這樣就不會出現二叉樹那樣數據龐大的時候,樹的高度比較高的情況,查詢的次數就會少,B+樹葉子節點間有指針相互鏈接,并且會維護了索引的順序的,所以有順序、有相鄰的引用,這樣在執行范圍查找的時候,就可以左右移動,范圍查找的效率就會高很多。所以數據龐大的時候,B+樹被?泛使用,數據庫、?件系統等場景。

哈希索引:

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

如果是等值查詢,那么哈希索引明顯有絕對優勢,因為只需要經過?次算法即可找到相應的鍵值;

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

如果是范圍查詢檢索,這時候哈希索引就毫??武之地了,因為原先是有序的鍵值,經過哈希算法后,有可能變成不連續的了,就沒辦法再利?索引完成范圍查詢檢索;

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

在有?量重復鍵值情況下,哈希索引的效率也是極低的,因為存在哈希碰撞問題。

紅黑樹:

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

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

如果123456這樣按照順序添加,1永遠是跟節點,依次增加就之后在樹的右邊加。

延伸閱讀:

二、索引及其優缺點

索引本質:索引是數據結構。這些數據結構以某種方式指向數據,這樣可以在這些數據結構的基礎上實現高效查找算法。

索引是在存儲引擎實現的,因此每種存儲引擎的索引不一定完全相同,并且每種存儲引擎不一定支持所有類型的索引。同時存儲引擎可以定義每個表的最大索引數和最大索引長度。所有存儲引擎支持每個表至少16個索引,總索引長度至少為256字節。

優點:

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

2、通過創建少數索引,可以保證數據庫表中每一行數據的少數性

3、可以加速表和表之間的連接。對于有依賴關系的子表和父表聯合查詢時,可以提高查詢速度

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

缺點:

1、創建索引和維護索引要耗費時間

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

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

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT