一篇解決MySQL索引優(yōu)化

定義:幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)绎橘。簡單理解為排好序快速查找數(shù)據(jù)(BTree)結(jié)構(gòu)泞辐。以索引文件的形式存儲在磁盤上秒旋。


平常所說的索引默認為BTree結(jié)構(gòu)組織的索引,其中聚集索引裳涛、次要索引木张、復合索引、前綴索引端三、唯一索引默認都是使用B+樹索引舷礼,除此外還有哈希索引等。


  • 優(yōu)勢:提高檢索效率郊闯,降低數(shù)據(jù)庫IO成本妻献;索引列對數(shù)據(jù)排序,降低數(shù)據(jù)排序成本团赁,降低CPU消耗育拨。
  • 劣勢:實際上索引也是一張表,該表保存主鍵與索引字段欢摄,并指向?qū)嶓w表的記錄熬丧,所以索引列也要占空間;雖然索引提高查詢速度怀挠,同時會降低表更新速度析蝴,因為mysql不僅要保存數(shù)據(jù)害捕,還要保存索引文件每次更新添加索引列的字段。

分類:單值索引闷畸、唯一索引尝盼、復合索引


  • 需要創(chuàng)建索引情況:1、逐漸自動建立唯一索引佑菩;2盾沫、頻繁作為查詢條件的字段;3殿漠、外鍵關(guān)系建立索引;4疮跑、排序字段作索引提升排序速度;5凸舵、統(tǒng)計或分組字段作索引。
  • 不需要建索引情況:表記錄少(<300W);頻繁更新字段;where條件里用不到的字段失尖;索引列中重復數(shù)據(jù)多啊奄。

索引優(yōu)化

  1. left join:根據(jù)左連接特性,leftjoin用于確定如何從右表搜索行掀潮,左邊一定有菇夸,故而右邊是關(guān)鍵點,要建索引仪吧。
  2. 同理right join左邊表建索引庄新。
  3. 防止索引失效的十條
    (1)全值匹配我最愛
    (2)最佳左前綴法則 —— 組合索引中要遵循最左前綴法則,指的是查詢從索引的最左前列開始并且不跳過索引中的列薯鼠。
    (3)不在索引列上做任何操作择诈,包括計算、函數(shù)出皇、自動或手動類型轉(zhuǎn)換羞芍,會導致索引失效而全表掃描。
    (4)索引中范圍條件右邊的列都失效
    (5)盡量使用覆蓋索引郊艘,減少select *
    (6)在使用!= <>的時候無法使用索引
    (7)is null,is not null無法使用索引
    (8)like以通配符開頭荷科,如'%abc...'無法使用索引,'abc...%'這樣的可以纱注。
    若非要使用'%abc%',那么select的字段不能超過索引列畏浆。
    (9)字符串不加單引號索引失效
    (10)少使用or,做連接時索引失效
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市狞贱,隨后出現(xiàn)的幾起案子刻获,更是在濱河造成了極大的恐慌,老刑警劉巖斥滤,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件将鸵,死亡現(xiàn)場離奇詭異勉盅,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門酪呻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咐低,“玉大人,你說我怎么就攤上這事宰闰。” “怎么了簿透?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵移袍,是天一觀的道長。 經(jīng)常有香客問我老充,道長葡盗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任啡浊,我火速辦了婚禮觅够,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘巷嚣。我一直安慰自己喘先,他們只是感情好,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布廷粒。 她就那樣靜靜地躺著窘拯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坝茎。 梳的紋絲不亂的頭發(fā)上涤姊,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音景东,去河邊找鬼砂轻。 笑死,一個胖子當著我的面吹牛斤吐,可吹牛的內(nèi)容都是我干的搔涝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼和措,長吁一口氣:“原來是場噩夢啊……” “哼庄呈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起派阱,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤诬留,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體文兑,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡盒刚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了绿贞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片因块。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖籍铁,靈堂內(nèi)的尸體忽然破棺而出涡上,到底是詐尸還是另有隱情,我是刑警寧澤拒名,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布吩愧,位于F島的核電站,受9級特大地震影響增显,放射性物質(zhì)發(fā)生泄漏雁佳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一同云、第九天 我趴在偏房一處隱蔽的房頂上張望甘穿。 院中可真熱鬧,春花似錦梢杭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至荡含,卻和暖如春咒唆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背释液。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工全释, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人误债。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓浸船,卻偏偏與公主長得像,于是被迫代替她去往敵國和親寝蹈。 傳聞我的和親對象是個殘疾皇子李命,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

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