數(shù)據(jù)庫(kù)索引

什么是聚集索引烹玉,非聚集索引药蜻,索引覆蓋御毅,回表轧抗,索引下推
如何理解Mysql的索引及他們的原理抡锈?
為什么mysql用B+樹(shù)做索引而不用B-樹(shù)或紅黑樹(shù)
數(shù)據(jù)庫(kù)索引(B樹(shù)疾忍,B+樹(shù),哈希)

二叉樹(shù)

對(duì)于查找床三,我們很容易想到二叉查找樹(shù)一罩,但是二叉查找樹(shù)查找效率不穩(wěn)定,時(shí)間可能在O(logn) - O(n),O(n)為二叉查找樹(shù)為鏈表的時(shí)候

平衡二叉查找樹(shù)

平衡二叉查找樹(shù)滿足撇簿,左子樹(shù)的值都小于根節(jié)點(diǎn)的值聂渊,右子樹(shù)的值都大于根節(jié)點(diǎn)的值。且左右子樹(shù)的高度差不大于1四瘫。這樣查找的復(fù)雜度就是O(logn)汉嗽,但是二叉查找樹(shù)的一個(gè)節(jié)點(diǎn)只有左右兩個(gè)子節(jié)點(diǎn),如果數(shù)據(jù)量多找蜜,會(huì)造成樹(shù)的高度非常龐大

B樹(shù)

image.png

B樹(shù)可以有不止兩個(gè)子節(jié)點(diǎn)饼暑,B樹(shù)一個(gè)節(jié)點(diǎn)包含了子節(jié)點(diǎn)的磁盤(pán)地址,主鍵的值,還有行數(shù)據(jù)撵孤。

B樹(shù)有兩個(gè)不好的地方

  1. 查詢(xún)效率不穩(wěn)定
  2. B樹(shù)每個(gè)節(jié)點(diǎn)都有data迈着,因?yàn)楣?jié)點(diǎn)都是存在磁盤(pán)里的,每次從磁盤(pán)里只能一頁(yè)一頁(yè)地讀邪码,B樹(shù)多了個(gè)data指針裕菠,無(wú)疑會(huì)加大磁盤(pán)的消耗,讀一次數(shù)據(jù)就減少讀到節(jié)點(diǎn)的數(shù)目 ((磁盤(pán)IO一次讀出的數(shù)據(jù)量大小是固定的闭专,單個(gè)數(shù)據(jù)變大奴潘,每次讀出的就少,IO次數(shù)增多影钉,一次IO多耗時(shí)))
  3. B樹(shù)做范圍查詢(xún)比較難

B+樹(shù)

B+樹(shù)相對(duì)于B樹(shù)有幾點(diǎn)不同:


image.png
  1. 非葉子節(jié)點(diǎn)只存儲(chǔ)鍵值和指針画髓。
  2. 所有葉子節(jié)點(diǎn)之間都有一個(gè)鏈指針。
  3. 數(shù)據(jù)記錄都存放在葉子節(jié)點(diǎn)中平委。
B+樹(shù)相對(duì)B樹(shù)的優(yōu)點(diǎn)
  1. B+樹(shù)只有葉節(jié)點(diǎn)存放數(shù)據(jù)奈虾,其余節(jié)點(diǎn)用來(lái)索引,而B(niǎo)-樹(shù)是每個(gè)索引節(jié)點(diǎn)都會(huì)有Data域廉赔。
  2. B+樹(shù)所有的Data域在葉子節(jié)點(diǎn)肉微,并且所有葉子節(jié)點(diǎn)之間都有一個(gè)鏈指針。 這樣遍歷葉子節(jié)點(diǎn)就能獲得全部數(shù)據(jù)蜡塌,這樣就能進(jìn)行區(qū)間訪問(wèn)啦碉纳。在數(shù)據(jù)庫(kù)中基于范圍的查詢(xún)是非常頻繁的,而B(niǎo)樹(shù)不支持這樣的遍歷操作馏艾。
缺點(diǎn):
  1. B+樹(shù)對(duì)查詢(xún)的優(yōu)化操作會(huì)降低了一定寫(xiě)入性能劳曹。

聚集索引

在MySQL中,選定主鍵之后將會(huì)自動(dòng)為主鍵創(chuàng)建索引琅摩。該索引可以維護(hù)主鍵的唯一性铁孵。非葉子節(jié)點(diǎn)包含了主鍵值,而葉子節(jié)點(diǎn)則指向了一條完整的記錄

非聚集索引

非聚簇索引為什么是二級(jí)索引呢房资?重點(diǎn)在于一個(gè)二字蜕劝。可以料想如果WHERE條件不是根據(jù)主鍵進(jìn)行索引志膀,那么我們就需要基于該非主鍵建立的索引進(jìn)行檢索,這樣建立的索引葉子節(jié)點(diǎn)中包含了記錄的主鍵鳖擒,再使用主鍵在聚簇索引中找尋到完整的記錄溉浙。可以說(shuō)進(jìn)行了兩次B+ Tree查找而不是一次

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蒋荚,一起剝皮案震驚了整個(gè)濱河市戳稽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖惊奇,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件互躬,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡颂郎,警方通過(guò)查閱死者的電腦和手機(jī)吼渡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)乓序,“玉大人寺酪,你說(shuō)我怎么就攤上這事√媾” “怎么了寄雀?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)陨献。 經(jīng)常有香客問(wèn)我盒犹,道長(zhǎng),這世上最難降的妖魔是什么眨业? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任急膀,我火速辦了婚禮,結(jié)果婚禮上坛猪,老公的妹妹穿的比我還像新娘脖阵。我一直安慰自己,他們只是感情好墅茉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布命黔。 她就那樣靜靜地躺著,像睡著了一般就斤。 火紅的嫁衣襯著肌膚如雪悍募。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,274評(píng)論 1 300
  • 那天洋机,我揣著相機(jī)與錄音坠宴,去河邊找鬼。 笑死绷旗,一個(gè)胖子當(dāng)著我的面吹牛喜鼓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播衔肢,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼庄岖,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了角骤?” 一聲冷哼從身側(cè)響起隅忿,我...
    開(kāi)封第一講書(shū)人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后背桐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體优烧,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年链峭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了畦娄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡熏版,死狀恐怖纷责,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撼短,我是刑警寧澤再膳,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站曲横,受9級(jí)特大地震影響喂柒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜禾嫉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一灾杰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧熙参,春花似錦艳吠、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至黍匾,卻和暖如春栏渺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锐涯。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工磕诊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纹腌。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓霎终,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親升薯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子莱褒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容