国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Mysql - MySQL Innodb索引機(jī)制詳細(xì)介紹

MySQL Innodb索引機(jī)制詳細(xì)介紹

2021-12-08 17:25玉樹臨風(fēng) Mysql

這篇文章介紹了MySQL Innodb索引數(shù)據(jù)結(jié)構(gòu)工作原理。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1、什么是索引

索引是存儲(chǔ)引擎用于快速找到記錄的一種數(shù)據(jù)結(jié)構(gòu)。

2、索引有哪些數(shù)據(jù)結(jié)構(gòu)

  • 順序查找結(jié)構(gòu):這種查找效率很低,復(fù)雜度為o(n)。大數(shù)據(jù)量的時(shí)候查詢效率很低。
  • 有序的數(shù)據(jù)排列:二分查找法又稱折半查找法。

通過一次比較,將查找區(qū)間縮小一半。而mysql中的數(shù)據(jù)并不是有序的序列。

  • 二叉查找樹:左子樹的鍵值總是小于根的鍵值,右子樹的鍵值總是大于根的鍵值。通過中序遍歷得到的序列是有序序列,但如果二叉查找樹構(gòu)造的不好則跟順序查找沒什么區(qū)別

MySQL Innodb索引機(jī)制詳細(xì)介紹

  • 平衡二叉樹:如果需要二叉查找樹是平衡的,從而引出平衡二叉樹。平衡二叉樹首先得滿足二叉查找樹的定義,其次必須滿足任何結(jié)點(diǎn)的兩個(gè)子樹的高度的最大差為1。顯然上面的樹不是平衡二叉樹,平衡二叉樹示例如下:

MySQL Innodb索引機(jī)制詳細(xì)介紹

平衡二叉查找樹的時(shí)間復(fù)雜度為o(logn),查詢速度的確很快,但是維護(hù)一顆平衡二叉樹的代價(jià)也是非常大的。通常來說,需要一次或多次左旋和右旋來得到插入或更新后的平衡性。

  • b樹:b樹和平衡二叉樹稍有不同的是b樹屬于多叉樹又名平衡多路查找樹:
  1. 根節(jié)點(diǎn)至少有兩個(gè)子節(jié)點(diǎn)(每個(gè)節(jié)點(diǎn)有m-1個(gè)key, 且以升序排列) 其它節(jié)點(diǎn)至少有m/2個(gè)子節(jié)點(diǎn)
  2. 葉子結(jié)點(diǎn)都在同一層。
  • b+樹

b+樹是b樹的變種,b+樹由b樹和索引順序訪問方法演化而來(在現(xiàn)實(shí)生活中幾乎沒有使用b樹的情況來)。
b+樹是為磁盤或其他直接存儲(chǔ)輔助設(shè)備設(shè)計(jì)的一種平衡查找樹。
在b+樹中所有記錄結(jié)點(diǎn)都是按鍵值的大小順序放在同一層的葉子結(jié)點(diǎn)上, 由各葉子節(jié)點(diǎn)指針進(jìn)行連接。
所有查詢都要查找到葉子節(jié)點(diǎn),查詢性能穩(wěn)定。
所有葉子節(jié)點(diǎn)形成有序鏈表,便于范圍查詢。每個(gè)葉子結(jié)點(diǎn)都存有相鄰葉子結(jié)點(diǎn)的指針,葉子結(jié)點(diǎn)本身依關(guān)鍵字的大小自小而大順序鏈接(雙向鏈表)

3、innodb為什么使用b+樹做為索引

  1. 可以有效的利用系統(tǒng)對(duì)磁盤的塊讀取特性,在讀取相同磁盤塊的同時(shí),盡可能多的加載索引數(shù)據(jù),來提高索引命中效率,從而達(dá)到減少磁盤io的讀取次數(shù)(局部性原理與磁盤預(yù)讀)。
  2. b+樹的磁盤讀寫代價(jià)更低:b+樹的內(nèi)部節(jié)點(diǎn)并沒有指向關(guān)鍵字具體信息的指針(只有葉子節(jié)點(diǎn)存儲(chǔ)有),因此其內(nèi)部節(jié)點(diǎn)相對(duì)b樹更小,如果把所有同一內(nèi)部節(jié)點(diǎn)的關(guān)鍵字存放在同一盤塊中,那么盤塊所能容納的關(guān)鍵字?jǐn)?shù)量也越多,一次性讀入內(nèi)存的需要查找的關(guān)鍵字也就越多,相對(duì)io讀寫次數(shù)就降低了。
  3. b+樹的查詢效率更穩(wěn)定。由于非終結(jié)點(diǎn)并不是最終指向文件內(nèi)容的結(jié)點(diǎn),而只是葉子結(jié)點(diǎn)中關(guān)鍵字的索引。所以任何關(guān)鍵字的查找必須走一條從根結(jié)點(diǎn)到葉子結(jié)點(diǎn)的路。所有關(guān)鍵字查詢的路徑長度相同,導(dǎo)致每一個(gè)數(shù)據(jù)的查詢效率相當(dāng)。
  4. b+樹支持范圍查詢,而b樹不支持

 

4、索引分類

從存儲(chǔ)結(jié)構(gòu)上分類:btree索引、hash索引、全文索引

從應(yīng)用上分類:主鍵索引、唯一索引、組合索引

從物理存儲(chǔ)角度:聚集索引和非聚集索引(輔助索引)

下面說說什么是聚集索引,什么是非聚集索引:

  • 聚集索引

按照每張表的主鍵構(gòu)建一棵b+樹,同時(shí)葉子節(jié)點(diǎn)中存放的即為整張表的行記錄數(shù)據(jù)。也將聚集索引的葉子節(jié)點(diǎn)稱為數(shù)據(jù)頁,每個(gè)數(shù)據(jù)頁都通過一個(gè)雙向鏈表進(jìn)行鏈接。

聚集索引對(duì)于主鍵的排序查找和范圍查找的數(shù)據(jù)非常快。

  • 輔助索引

除了存儲(chǔ)了索引列,還存儲(chǔ)了葉子節(jié)點(diǎn)的指針。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.cnblogs.com/yuanfy008/p/15586155.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 精品国产乱码久久久久久88av | 澳门黄色网 | 日韩欧美一级电影 | 中文字幕高清在线观看 | 一区二区乱码 | 亚洲自啪 | 欧美精品乱码久久久久久按摩 | 久久精品小视频 | 国产精品成人av | 午夜影院在线观看 | 中文字幕一区二区三区在线视频 | 欧美一区二区三区在线视频 | 国产电影一区二区三区图片 | 一区二区 中文字幕 | 成人小视频在线观看 | 九九av | 日本一区二区三区四区 | 精品国产欧美 | 欧美爱爱视频 | 含羞草www网址进入在线观看 | 国产精品一区久久久久 | 久久五月天婷婷 | 秋霞av亚洲一区二区三 | 一级黄色毛片免费观看 | 日本视频二区 | av在线入口 | av影音| 四虎影音 | 亚洲综合色网 | 亚洲精品一级 | 国产99在线| 亚洲激情在线 | 欧美成人区 | 亚洲国产精品久久久 | 国产精品女同一区二区免费站 | 欧美激情久久久 | 狠狠久 | 黄色片在线播放 | 亚洲精品综合 | 精品成人18| 久草电影网|