大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Mysql索引優化面試題,大廠招聘在用

Mysql索引優化面試題,大廠招聘在用

更新時間:2022-12-09 16:24:22 來源:動力節點 瀏覽1465次

1.MySQL有哪幾種索引類型?

1、從存儲結構上來劃分:BTree索引(B-Tree或B+Tree索引),Hash索引,full-index全文索引,R-Tree索引。這里所描述的是索引存儲時保存的形式,

2、從應用層次來分:普通索引,唯一索引,復合索引。

普通索引:即一個索引只包含單個列,一個表可以有多個單列索引

唯一索引:索引列的值必須唯一,但允許有空值

復合索引:多列值組成一個索引,專門用于組合搜索,其效率大于索引合并

聚簇索引(聚集索引):并不是一種單獨的索引類型,而是一種數據存儲方式。具體細節取決于不同的實現,InnoDB的聚簇索引其實就是在同一個結構中保存了B-Tree索引(技術上來說是B+Tree)和數據行。

非聚簇索引: 不是聚簇索引,就是非聚簇索引

3、根據中數據的物理順序與鍵值的邏輯(索引)順序關系: 聚集索引,非聚集索引。

2. 說一說索引的底層實現?

Hash索引

基于哈希表實現,只有精確匹配索引所有列的查詢才有效,對于每一行數據,存儲引擎都會對所有的索引列計算一個哈希碼(hash code),并且Hash索引將所有的哈希碼存儲在索引中,同時在索引表中保存指向每個數據行的指針。

mysql索引優化面試題

B-Tree索引(MySQL使用B+Tree)

B-Tree能加快數據的訪問速度,因為存儲引擎不再需要進行全表掃描來獲取數據,數據分布在各個節點之中。

mysql索引優化面試題

B+Tree索引

是B-Tree的改進版本,同時也是數據庫索引索引所采用的存儲結構。數據都在葉子節點上,并且增加了順序訪問指針,每個葉子節點都指向相鄰的葉子節點的地址。相比B-Tree來說,進行范圍查找時只需要查找兩個節點,進行遍歷即可。而B-Tree需要獲取所有節點,相比之下B+Tree效率更高。

B+tree性質:

n棵子tree的節點包含n個關鍵字,不用來保存數據而是保存數據的索引。

所有的葉子結點中包含了全部關鍵字的信息,及指向含這些關鍵字記錄的指針,且葉子結點本身依關鍵字的大小自小而大順序鏈接。

所有的非終端結點可以看成是索引部分,結點中僅含其子樹中的最大(或最小)關鍵字。

B+ 樹中,數據對象的插入和刪除僅在葉節點上進行。

B+樹有2個頭指針,一個是樹的根節點,一個是最小關鍵碼的葉節點。

mysql索引優化面試題

3. 為什么索引結構默認使用B+Tree,而不是B-Tree,Hash,二叉樹,紅黑樹?

B-tree: 從兩個方面來回答

  • B+樹的磁盤讀寫代價更低:B+樹的內部節點并沒有指向關鍵字具體信息的指針,因此其內部節點相對B(B-)樹更小,如果把所有同一內部節點的關鍵字存放在同一盤塊中,那么盤塊所能容納的關鍵字數量也越多,一次性讀入內存的需要查找的關鍵字也就越多,相對IO讀寫次數就降低了。
  • 由于B+樹的數據都存儲在葉子結點中,分支結點均為索引,方便掃庫,只需要掃一遍葉子結點即可,但是B樹因為其分支結點同樣存儲著數據,我們要找到具體的數據,需要進行一次中序遍歷按序來掃,所以B+樹更加適合在區間查詢的情況,所以通常B+樹用于數據庫索引。

Hash:

  • 雖然可以快速定位,但是沒有順序,IO復雜度高;
  • 基于Hash表實現,只有Memory存儲引擎顯式支持哈希索引 ;
  • 適合等值查詢,如=、in()、<=>,不支持范圍查詢 ;
  • 因為不是按照索引值順序存儲的,就不能像B+Tree索引一樣利用索引完成排序 ;

Hash索引在查詢等值時非常快 ;

因為Hash索引始終索引的所有列的全部內容,所以不支持部分索引列的匹配查找 ;

如果有大量重復鍵值得情況下,哈希索引的效率會很低,因為存在哈希碰撞問題 。

二叉樹: 樹的高度不均勻,不能自平衡,查找效率跟數據有關(樹的高度),并且IO代價高。

紅黑樹: 樹的高度隨著數據量增加而增加,IO代價高。

以上就是“Mysql索引優化面試題,大廠招聘在用”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本一级免费 | 久久久国产一区二区三区 | 日本中文字幕高清 | 精品欧美一区二区三区 | 国产骚b| 三人性free孕交欧美 | 久久国产精品99久久久久久牛牛 | 男人午夜免费视频 | 亚洲视频a | 7777精品久久久大香线蕉 | 国产欧美亚洲精品第二区首页 | 国产精品视频在 | sihu国产精品永久免费 | 欧美成人aa大片拍拍拍 | xxxwww欧美| 欧美99热 | 91在线视屏 | 四虎影视最新网址 | 黄色影院7755 | 欧美日韩一区二区在线观看 | 97影院午夜在线观看视频 | 国产女人视频 | 亚洲高清日韩精品第一区 | 国产精品久久国产三级国电话系列 | 特级按摩一级毛片 | 亚洲毛片免费观看 | 国产私拍 | 久 在线播放 | 国内精品视频一区二区三区八戒 | 国产亚洲一区二区三区 | 888米奇四色极速在线观看 | 欧美人成一本免费观看视频 | 色婷婷久久综合中文久久一本 | 四虎一影院区永久精品 | 天天干天天摸天天操 | 日韩在线观看一区二区三区 | 日韩欧美精品中文字幕 | 老头做爰xxxx视频 | 日本免费在线视频 | 免费人成激情视频在线观看冫 | 香蕉在线精品亚洲第一区 |