什么是覆盖索引
覆蓋索引定義:MySQL 執(zhí)行計(jì)劃 explain 結(jié)果里的 key 有使用索引,如果 select 后面查詢的字段都可以從這個(gè)索引的樹中獲取,這種情況一般可以說(shuō)是用到了覆蓋索引,extra 里一般都有 using index;覆蓋索引一般針對(duì)的是輔助索引,整個(gè)査詢結(jié)果只通過(guò)輔助索引就能拿到結(jié)果,不需要通過(guò)輔助索引樹找到主鍵,再通過(guò)主鍵去主鍵索引樹里獲取其它字段值。
1.覆蓋索引是一種數(shù)據(jù)查詢方式,不是索引類型
2.在索引數(shù)據(jù)結(jié)構(gòu)中,通過(guò)索引值可以直接找到要查詢字段的值,而不需要通過(guò)主鍵值回表查詢,那么就叫覆蓋索引
3.查詢的字段被使用到的索引樹全部覆蓋到
假設(shè)你定義一個(gè)聯(lián)合索引
CREATE INDEX idx_name_age ON user(name,age);查詢名稱為 liudehua 的年齡:
mysql> select name, age from user where name = 'liudehua';上述語(yǔ)句中,查找的字段 name 和 age 都包含在聯(lián)合索引 idx_name_age 的索引樹中,這樣的查詢就是覆蓋索引查詢。
總結(jié)
- 上一篇: 安卓魔镜mirror(安卓魔镜)
- 下一篇: vim如何开启256色