下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)訓(xùn)案例名稱:索引使用策略一、任務(wù)介紹索引的使用,可以分為匹配全值索引查詢、匹配最左前綴索引查詢、匹配列前綴索引查詢、匹配值的范圍索引查詢、僅對(duì)索引進(jìn)行查詢(索引覆蓋)。二、實(shí)現(xiàn)步驟(1)匹配全值索引查詢:針對(duì)建索引的列可以匹配列的全值進(jìn)行查詢。mysql>EXPLAINSELECT*FROMstudentWHEREid=3\G***************************1.row***************************id:1select_type:SIMPLEtable:studentpartitions:NULLtype:constpossible_keys:PRIMARY,uk_idkey:PRIMARYkey_len:4ref:constrows:1filtered:100.00Extra:NULL1rowinset,1warning(0.00sec)mysql>(2)匹配最左前綴索引查詢:索引不僅可以進(jìn)行單列索引,也可以建立聯(lián)合索引,也就是把多列建成一個(gè)聯(lián)合索引。#使用姓名(name)、性別(sex)、年齡(age)字段創(chuàng)建聯(lián)合索引mysql>ALTERTABLEstudentADDINDEXidx_name_sex_age(name,sex,age);QueryOK,0rowsaffected(0.35sec)Records:0Duplicates:0Warnings:0#刪除姓名字段的索引mysql>DROPINDEXidx_nameONstudent;QueryOK,0rowsaffected(0.20sec)Records:0Duplicates:0Warnings:0#按姓名字段的索引查找,匹配最左前綴列mysql>EXPLAINSELECT*FROMstudentWHEREname='小明'\G***************************1.row***************************id:1select_type:SIMPLEtable:studentpartitions:NULLtype:refpossible_keys:idx_name_sex_agekey:idx_name_sex_agekey_len:1023ref:constrows:1filtered:100.00Extra:NULL1rowinset,1warning(0.00sec)#當(dāng)可選的索引有多個(gè)時(shí),如idx_sex、idx_name_sex_age,存儲(chǔ)引擎會(huì)選擇最優(yōu)的索引mysql>EXPLAINSELECT*FROMstudentWHEREname='小明'ANDsex='男'\G***************************1.row***************************id:1select_type:SIMPLEtable:studentpartitions:NULLtype:refpossible_keys:idx_sex,idx_name_sex_agekey:idx_name_sex_agekey_len:1046ref:const,constrows:1filtered:100.00Extra:NULL1rowinset,1warning(0.00sec)#當(dāng)可選的索引有多個(gè)時(shí),如idx_age、idx_name_sex_age,存儲(chǔ)引擎會(huì)選擇最優(yōu)的索引mysql>EXPLAINSELECT*FROMstudentWHEREname='小明'ANDage='30'\G***************************1.row***************************id:1select_type:SIMPLEtable:studentpartitions:NULLtype:refpossible_keys:idx_age,idx_name_sex_agekey:idx_agekey_len:23ref:constrows:1filtered:16.67Extra:Usingwhere1rowinset,1warning(0.00sec)#當(dāng)可選的索引有多個(gè)時(shí),存儲(chǔ)引擎會(huì)選擇最優(yōu)的索引mysql>EXPLAINSELECT*FROMstudentWHEREname='小明'ANDsex='男'ANDage='30'\G***************************1.row***************************id:1select_type:SIMPLEtable:studentpartitions:NULLtype:refpossible_keys:idx_sex,idx_age,idx_name_sex_agekey:idx_agekey_len:23ref:constrows:1filtered:16.67Extra:Usingwhere1rowinset,1warning(0.00sec)#使用性別字段的索引mysql>EXPLAINSELECTsexFROMstudentWHEREsex='男'\G***************************1.row***************************id:1select_type:SIMPLEtable:studentpartitions:NULLtype:refpossible_keys:idx_sex,idx_name_sex_agekey:idx_sexkey_len:23ref:constrows:3filtered:100.00Extra:Usingindex1rowinset,1warning(0.00sec)#按照最左前綴匹配原則,聯(lián)合索引不能匹配性別、年齡這兩個(gè)字段mysql>EXPLAINSELECT*FROMstudentWHEREsex='男'ANDage='30'\G***************************1.row***************************id:1select_type:SIMPLEtable:studentpartitions:NULLtype:refpossible_keys:idx_sex,idx_agekey:idx_agekey_len:23ref:constrows:1filtered:50.00Extra:Usingwhere(3)匹配列前綴索引查詢:匹配列的前一部分進(jìn)行查詢,如查詢姓名,可以按姓氏“劉”開頭進(jìn)行查詢,使用通配符%,但是通配符只能放置在右側(cè),不能放置在左側(cè)。#通配符放置在右側(cè)mysql>EXPLAINSELECT*FROMstudentWHEREnamelike'劉%'\G***************************1.row***************************id:1select_type:SIMPLEtable:studentpartitions:NULLtype:rangepossible_keys:idx_name_sex_agekey:idx_name_sex_agekey_len:1023ref:NULLrows:1filtered:100.00Extra:Usingindexcondition1rowinset,1warning(0.01sec)#通配符放置在左側(cè)時(shí),不能使用索引mysql>EXPLAINSELECT*FROMstudentWHEREnamelike'%劉%'\G***************************1.row***************************id:1select_type:SIMPLEtable:studentpartitions:NULLtype:ALLpossible_keys:NULLkey:NULLkey_len:NULLref:NULLrows:6filtered:16.67Extra:Usingwhere1rowinset,1warning(0.00sec)mysql>(4)匹配值的范圍索引查詢:對(duì)索引可以進(jìn)行范圍查詢。mysql>EXPLAINSELECT*FROMstudentWHEREid>2ANDid<5\G***************************1.row***************************id:1select_type:SIMPLEtable:studentpartitions:NULLtype:rangepossible_keys:PRIMARY,uk_idkey:PRIMARYkey_len:4ref:NULLrows:2filtered:100.00Extra:Usingwhere1rowinset,1warning(0.00sec)(5)僅對(duì)索引進(jìn)行查詢:只針對(duì)索引進(jìn)行查詢,也叫索引覆蓋,不查詢數(shù)據(jù)表。#使用年齡字段創(chuàng)建索引idx_age,查詢年齡的時(shí)候從索引上直接獲取,不需要到數(shù)據(jù)表中獲取mysql>EXPLAINSELECTageFROMuserWHEREage>20\G***************************1.row***************************i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GBT 21470-2008錘上鋼質(zhì)自由鍛件機(jī)械加工余量與公差 盤、柱、環(huán)、筒類》專題研究報(bào)告
- 《GBT 14296-2008空氣冷卻器與空氣加熱器》專題研究報(bào)告
- 道路養(yǎng)護(hù)安全培訓(xùn)方案模板課件
- 2025-2026年湘教版初三歷史上冊(cè)期末試題解析+答案
- 2026年六年級(jí)數(shù)學(xué)上冊(cè)期末試題+解析
- 2026年江蘇高考生物試卷含答案
- 2025-2026年人教版五年級(jí)數(shù)學(xué)上冊(cè)期末試題解析及答案
- 《中國(guó)法布雷病超聲心動(dòng)圖規(guī)范化篩查指南(2024版)》解讀
- 中考語(yǔ)文文言文對(duì)比閱讀(全國(guó))01 《詠雪》對(duì)比閱讀(原卷版)
- 邊城課件基本知識(shí)
- 礦產(chǎn)企業(yè)管理辦法
- 2025秋季學(xué)期國(guó)開電大專本科《經(jīng)濟(jì)法學(xué)》期末紙質(zhì)考試名詞解釋題庫(kù)珍藏版
- 建筑設(shè)計(jì)防火規(guī)范-實(shí)施指南
- 2025國(guó)開《中國(guó)古代文學(xué)(下)》形考任務(wù)1234答案
- 肺部感染中醫(yī)護(hù)理
- 租地合同協(xié)議書合同
- 《肺炎的CT表現(xiàn)》課件
- 糧食倉(cāng)儲(chǔ)設(shè)施建設(shè)維修資金申請(qǐng)報(bào)告
- 腦器質(zhì)性精神障礙護(hù)理查房
- 中考英語(yǔ)聽力命題研究與解題策略省公開課金獎(jiǎng)全國(guó)賽課一等獎(jiǎng)微課獲獎(jiǎng)?wù)n件
- 物聯(lián)網(wǎng)智能家居設(shè)備智能控制手冊(cè)
評(píng)論
0/150
提交評(píng)論