mysql-熱身case

create table test03( 
 id int primary key not null auto_increment, 
 c1 char(10), 
 c2 char(10), 
 c3 char(10), 
 c4 char(10), 
 c5 char(10) 
); 

insert into test03(c1,c2,c3,c4,c5) values('a1','a2','a3','a4','a5'); 
insert into test03(c1,c2,c3,c4,c5) values('b1','b2','b3','b4','b5'); 
insert into test03(c1,c2,c3,c4,c5) values('c1','c2','c3','c4','c5'); 
insert into test03(c1,c2,c3,c4,c5) values('d1','d2','d3','d4','d5'); 
insert into test03(c1,c2,c3,c4,c5) values('e1','e2','e3','e4','e5'); 
 
select * from test03; 

create index idx_test03_c1234 on test03(c1,c2,c3,c4); 
show index from test03; 
index.png

問題:我們創(chuàng)建了復合索引idx_test03_c1234 ,根據以下SQL分析下索引使用情況?

#使用c1索引
explain select * from test03 where c1='a1'; 
#使用c1 c2  索引
explain select * from test03 where c1='a1' and c2='a2'; 
#使用c1 c2 c3 索引
explain select * from test03 where c1='a1' and c2='a2' and c3='a3'; 
#使用c1 c2 c3 c4索引
explain select * from test03 where c1='a1' and c2='a2' and c3='a3' and c4='a4';
比對.png
  • 案例1
explain select * from test03 where c1='a1' and c2='a2' and c4='a4' and c3='a3';
c4倒置.png

順序不一樣也能查到褪猛,因為mysql底層會自動調優(yōu)轉換赌结,假如是4321,mysql底層也會
轉化成1234吠撮,但是最好是一樣的順序尊惰。

  • 案例2
explain select * from test03 where c1='a1' and c2='a2' and c3>'a3' and c4='a4';
分析結果.png

索引用于范圍查找 索引后面全失效,索引三個泥兰。

  • 案例3
explain select * from test03 where c1='a1' and c2='a2' and c4>'a4' and c3='a3';
分析結果.png

變化了順序弄屡,mysql底層自動轉換,所以c1='a1' and c2='a2' and c3='a3' and c4>'a4' 所以這里是四個鞋诗。

  • 案例4
explain select * from test03 where c1='a1' and c2='a2' and c4='a4' order by c3;
分析結果.png

只有兩個關聯(lián)的索引c1 c2膀捷,索引的功能是查找或者排序,c3的作用是排序不是查找削彬,但是不會被統(tǒng)計到key中担孔,key和ref中只有c1和c2江锨。

  • 案例5
explain select * from test03 where c1='a1' and c2='a2' order by c3;
分析結果.png

和上面的結果一樣,說明這里和c4沒什么關系糕篇。

  • 案例6
explain select * from test03 where c1='a1' and c2='a2' order by c4; 
分析結果.png

這里沒有c3參與啄育,直接使用c4排序,失效拌消。

  • 案例7
#順序索引排序
explain select * from test03 where c1='a1' and c5='a5' order by c2,c3; 
#倒序索引排序
explain select * from test03 where c1='a1' and c5='a5' order by c3,c2; 
分析結果.png

出現(xiàn)了filesort挑豌,我們建的索引是1234,它沒有按照順序來墩崩,3 2 顛倒了氓英,沒有自動轉換。

  • 案例8
explain select * from test03 where c1='a1' and c2='a2' order by c2,c3;

explain select * from test03 where c1='a1' and c2='a2' and c5='a5' order by c2,c3;

explain select * from test03 where c1='a1' and c2='a2' and c5='a5' order by c3,c2; 
分析結果.png

注意在案例7中鹦筹,32排序铝阐,會出現(xiàn)filesort,可是這里沒有出現(xiàn)铐拐,因為這里有c2徘键,排序字段已經是一個常量了,所以相當于roder by c3 遍蟋,一個常量order by 1吹害,有和沒有無關。

  • 案例9
explain select * from test03 where c1='a1' and c4='a4' group by c2,c3;

explain select * from test03 where c1='a1' and c4='a4' group by c3,c2; 
分析結果.png

group by表面上是分組虚青,實質上是排序它呀,分組之前必排序,唯一的不同group by有having
定值棒厘、范圍還是排序纵穿,一般order by是給個范圍
group by基本上需要進行排序,會有臨時表的產生奢人,為了得到數(shù)據政恍,先建一張臨時表。
5.7下达传,因為排序的順序發(fā)現(xiàn)不對篙耗,需要通過filesort,8.0下沒有宪赶。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末宗弯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子搂妻,更是在濱河造成了極大的恐慌蒙保,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件欲主,死亡現(xiàn)場離奇詭異邓厕,居然都是意外死亡逝嚎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門详恼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來补君,“玉大人,你說我怎么就攤上這事昧互⊥焯” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵敞掘,是天一觀的道長叽掘。 經常有香客問我,道長玖雁,這世上最難降的妖魔是什么更扁? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮赫冬,結果婚禮上浓镜,老公的妹妹穿的比我還像新娘。我一直安慰自己面殖,他們只是感情好,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布哭廉。 她就那樣靜靜地躺著脊僚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪遵绰。 梳的紋絲不亂的頭發(fā)上辽幌,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機與錄音椿访,去河邊找鬼乌企。 笑死,一個胖子當著我的面吹牛成玫,可吹牛的內容都是我干的加酵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼哭当,長吁一口氣:“原來是場噩夢啊……” “哼猪腕!你這毒婦竟也來了?” 一聲冷哼從身側響起钦勘,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤陋葡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后彻采,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體腐缤,經...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡捌归,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了岭粤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惜索。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖绍在,靈堂內的尸體忽然破棺而出门扇,到底是詐尸還是另有隱情,我是刑警寧澤偿渡,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布臼寄,位于F島的核電站,受9級特大地震影響溜宽,放射性物質發(fā)生泄漏吉拳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一适揉、第九天 我趴在偏房一處隱蔽的房頂上張望留攒。 院中可真熱鬧,春花似錦嫉嘀、人聲如沸炼邀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拭宁。三九已至,卻和暖如春瓣俯,著一層夾襖步出監(jiān)牢的瞬間杰标,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工彩匕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腔剂,地道東北人。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓驼仪,卻偏偏與公主長得像掸犬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子绪爸,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內容