Mysql聚簇索引

存儲(chǔ)引擎InnoDB
索引是一種數(shù)據(jù)結(jié)構(gòu)(本質(zhì)是對(duì)數(shù)據(jù)排序),能提高我們的查詢速度:運(yùn)用 局部性原理

索引采用的數(shù)據(jù)結(jié)構(gòu):Hash索引(key-value)和B+樹索引(多路平衡查詢樹)

Hash索引(key-value)和B+樹索引區(qū)別:

  • 哈希索引只適用于等值查詢的場(chǎng)景哟绊,但無(wú)法進(jìn)行范圍查詢
  • 哈希索引無(wú)法利用索引進(jìn)行排序
  • 哈希索引不支持多列聯(lián)合索引的最左匹配原則
  • 如果有大量重復(fù)鍵值得情況下萝招,哈希索引的效率很低由桌,因?yàn)榇嬖诠E鲎?/li>

聚簇索引(葉子節(jié)點(diǎn)存儲(chǔ) 整行數(shù)據(jù))與非聚簇索引(主鍵值)


聚簇與非聚簇.png

覆蓋索引:一個(gè)查詢語(yǔ)句只需要從索引取得,不必從數(shù)據(jù)表中讀取

因?yàn)镮nnoDB的數(shù)據(jù)文件本身要按主鍵聚集套么,所以InnoDB要求表必須有主鍵(MyISAM可以沒有)
如果沒有顯式指定最蕾,則MySQL系統(tǒng)會(huì)自動(dòng)選擇一個(gè)可以唯一標(biāo)識(shí)數(shù)據(jù)記錄的列作為主鍵
如果不存在這種列,則MySQL自動(dòng)為InnoDB表生成一個(gè)隱含字段作為主鍵

頁(yè)結(jié)構(gòu)
B+樹

索引的最左匹配特性
葉子節(jié)點(diǎn)存儲(chǔ)真實(shí)數(shù)據(jù)(索引字段要盡量小源内,降低樹的高度)

輔助索引:data域記錄主鍵的值葡粒,而不是地址

輔助索引搜索:
1.檢索輔助索引獲得主鍵,
2.利用主鍵膜钓,到主索引中檢索獲得記錄

在使用InnoDB存儲(chǔ)引擎時(shí)嗽交,如果沒有特別的需要,請(qǐng)永遠(yuǎn)使用一個(gè)與業(yè)務(wù)無(wú)關(guān)的自增字段作為主鍵

Mysql5.6對(duì)對(duì)索引引入了哪些優(yōu)化:
索引下推技術(shù)(有了索引下推可以在有l(wèi)ike的情況下呻此,減少回表次數(shù))

查詢優(yōu)化器(explain select轮纫。。焚鲜。 )
在一條單表查詢語(yǔ)句真正執(zhí)行之前掌唾,MySQL的查詢優(yōu)化器會(huì)找出執(zhí)行該語(yǔ)句所有可能使用的方案,對(duì)比之后找出成本最低的方案忿磅。
優(yōu)化過(guò)程大致如下:
1糯彬、根據(jù)搜索條件,找出所有可能使用的索引
2葱她、計(jì)算全表掃描的代價(jià)
3撩扒、計(jì)算使用不同索引執(zhí)行查詢的代價(jià)
4、對(duì)比各種執(zhí)行方案的代價(jià)吨些,找出成本最低的那一個(gè)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搓谆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子豪墅,更是在濱河造成了極大的恐慌泉手,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偶器,死亡現(xiàn)場(chǎng)離奇詭異斩萌,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)屏轰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門颊郎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人霎苗,你說(shuō)我怎么就攤上這事姆吭。” “怎么了唁盏?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵猾编,是天一觀的道長(zhǎng)瘤睹。 經(jīng)常有香客問(wèn)我升敲,道長(zhǎng)答倡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任驴党,我火速辦了婚禮瘪撇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘港庄。我一直安慰自己倔既,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布鹏氧。 她就那樣靜靜地躺著渤涌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪把还。 梳的紋絲不亂的頭發(fā)上实蓬,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音吊履,去河邊找鬼安皱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛艇炎,可吹牛的內(nèi)容都是我干的酌伊。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼缀踪,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼居砖!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起驴娃,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤奏候,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后托慨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鼻由,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年厚棵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蕉世。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡婆硬,死狀恐怖狠轻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情彬犯,我是刑警寧澤向楼,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布查吊,位于F島的核電站,受9級(jí)特大地震影響湖蜕,放射性物質(zhì)發(fā)生泄漏逻卖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一昭抒、第九天 我趴在偏房一處隱蔽的房頂上張望评也。 院中可真熱鬧,春花似錦灭返、人聲如沸盗迟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)罚缕。三九已至,卻和暖如春怎静,著一層夾襖步出監(jiān)牢的瞬間邮弹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工消约, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肠鲫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓或粮,卻偏偏與公主長(zhǎng)得像导饲,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子氯材,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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

  • 一渣锦、定義及說(shuō)明 定義聚簇索引并不是一種單獨(dú)的索引類型,而是一種數(shù)據(jù)存儲(chǔ)方式氢哮。InnoDB的聚簇索引實(shí)際上在同一個(gè)結(jié)...
    螞蟻窩大夢(mèng)想閱讀 1,727評(píng)論 0 6
  • 今天看到一位朋友寫的mysql筆記總結(jié)袋毙,覺得寫的很詳細(xì)很用心,這里轉(zhuǎn)載一下冗尤,供大家參考下听盖,也希望大家能關(guān)注他原文地...
    信仰與初衷閱讀 4,726評(píng)論 0 30
  • ‘頁(yè)’和操作系統(tǒng)的關(guān)系 為什么要有內(nèi)存管理我們知道,一個(gè)進(jìn)程完成它的功能裂七,需要訪問(wèn)磁盤加載數(shù)據(jù)到內(nèi)存然后等待進(jìn)入c...
    水欣閱讀 2,150評(píng)論 0 1
  • 聚簇索引并不是一種單獨(dú)的索引類型皆看,而是一種數(shù)據(jù)存儲(chǔ)方式。比如背零,InnoDB的聚簇索引使用B+Tree的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)...
    sherlock_6981閱讀 1,859評(píng)論 0 2
  • 聚簇索引并不是一種單獨(dú)的索引類型腰吟,而是一種數(shù)據(jù)存儲(chǔ)方式。比如徙瓶,InnoDB的聚簇索引使用B+Tree的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)...
    大頭8086閱讀 17,469評(píng)論 7 40