MySQL——索引與視圖

索引

添加索引是給某一個(gè)字段殖氏,或者說某些字段添加索引。

select ename,sal from emp where ename='SMITH';

當(dāng)ename字段上沒有添加索引的時(shí)候译秦,以上sql語句會(huì)進(jìn)行全表掃描远搪,掃描ename字段中的所有的值劣纲。

什么時(shí)候考慮給字段添加索引?(滿足什么條件)

-數(shù)據(jù)量龐大谁鳍。(根據(jù)客戶要求癞季,根據(jù)線上的環(huán)境)
-該字段很少的DML操作劫瞳。(因?yàn)樽侄芜M(jìn)行修改操作,索引也需要維護(hù))
-該字段經(jīng)常出現(xiàn)在where子句中绷柒。(經(jīng)常根據(jù)哪個(gè)字段查詢)

注意:主鍵和具有unique約束的字段自動(dòng)會(huì)添加索引志于。根據(jù)主鍵查詢效率較高。盡量根據(jù)主鍵查詢废睦。
創(chuàng)建索引對(duì)象:create index 索引名稱 on 表名(字段名)伺绽;
刪除索引對(duì)象:drop index 索引名稱 on 表名;
查看sql語句的執(zhí)行計(jì)劃:
explain select ename嗜湃,sal from emp where sal=5000奈应;
type:ALL

給薪資sal字段添加索引:

create index emp_sal_index on emp(sal);
type:ref
索引底層采用的數(shù)據(jù)結(jié)構(gòu)是:B+Tree
索引的實(shí)現(xiàn)原理?

通過B Tree縮小掃描范圍购披,底層索引進(jìn)行了排序杖挣,分區(qū),索引會(huì)攜帶數(shù)據(jù)在表中的“物理地址”今瀑,最終通過索引檢索到數(shù)據(jù)之后程梦,獲取到關(guān)聯(lián)的物理地址点把,通過物理地址定位表中的數(shù)據(jù)橘荠,效率是最高的。

select ename from emp where ename='SMITH';

通過索引轉(zhuǎn)換為:

select ename from emp where 物理地址=0x3郎逃;
索引的分類哥童?

-單一索引:給單個(gè)字段添加索引
-復(fù)合索引:給多個(gè)字段聯(lián)合起來添加一個(gè)索引
-主鍵索引:主鍵上會(huì)自動(dòng)添加索引
-唯一索引:有unique約束的字段上會(huì)自動(dòng)添加索引

索引什么時(shí)候失效?
select ename from emp where ename like '%A%';

模糊查詢的時(shí)候褒翰,第一個(gè)通配符使用的是%贮懈,這個(gè)時(shí)候索引是失效的。

視圖

什么是視圖优训?

站在不同的角度去看到數(shù)據(jù)朵你。(同一張表的數(shù)據(jù),通過不同的角度去看待)

怎么創(chuàng)建視圖揣非?怎么刪除視圖抡医?
create view myview as select empno,ename from emp;
drop view myview;

注意:只有對(duì)DQL語句才能以視圖對(duì)象的方式創(chuàng)建出來。

對(duì)視圖進(jìn)行增刪改查早敬,會(huì)影響到原表數(shù)據(jù)忌傻。(通過視圖影響原表數(shù)據(jù)的,不是直接操作的原表)可以對(duì)視圖進(jìn)行CRUD操作
create table emp_bak as select * from emp;
create view myview as select empno,ename,sal from emp_bak;
update myview set ename='hehe',sal=1 where empno=7369;//通過視圖修改原表數(shù)據(jù)搞监。
delete from myview where empno=7369;//通過視圖刪除原表數(shù)據(jù)水孩。
視圖的作用?

視圖可以隱藏表的實(shí)現(xiàn)細(xì)節(jié)琐驴。保密級(jí)別較高的系統(tǒng)俘种,數(shù)據(jù)庫只對(duì)外提供相關(guān)的視圖秤标,java程序員只對(duì)視圖對(duì)象進(jìn)行CRUD操作。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末安疗,一起剝皮案震驚了整個(gè)濱河市抛杨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌荐类,老刑警劉巖怖现,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異玉罐,居然都是意外死亡屈嗤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門吊输,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饶号,“玉大人,你說我怎么就攤上這事季蚂∶4” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵扭屁,是天一觀的道長算谈。 經(jīng)常有香客問我,道長料滥,這世上最難降的妖魔是什么然眼? 我笑而不...
    開封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮葵腹,結(jié)果婚禮上高每,老公的妹妹穿的比我還像新娘。我一直安慰自己践宴,他們只是感情好鲸匿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阻肩,像睡著了一般带欢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上磺浙,一...
    開封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天洪囤,我揣著相機(jī)與錄音,去河邊找鬼撕氧。 笑死瘤缩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伦泥。 我是一名探鬼主播剥啤,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼锦溪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了府怯?” 一聲冷哼從身側(cè)響起刻诊,我...
    開封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎牺丙,沒想到半個(gè)月后则涯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冲簿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年粟判,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峦剔。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡档礁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吝沫,到底是詐尸還是另有隱情呻澜,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布惨险,位于F島的核電站羹幸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏平道。R本人自食惡果不足惜睹欲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一供炼、第九天 我趴在偏房一處隱蔽的房頂上張望一屋。 院中可真熱鬧,春花似錦袋哼、人聲如沸冀墨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诽嘉。三九已至,卻和暖如春弟翘,著一層夾襖步出監(jiān)牢的瞬間虫腋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來泰國打工稀余, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悦冀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓睛琳,卻偏偏與公主長得像盒蟆,于是被迫代替她去往敵國和親踏烙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

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