什么是mysql索引下推(有些裝B面試官會問)


 

參考資料:

https://www.bilibili.com/video/BV1kJ411H7w7?from=search&seid=16755936018144089586

看完視頻之后,感覺就是面試官裝逼問這個,這次遇到了來補習下。(面試官不問聯合索引,直接問知不知道索引下推)

真不知道有啥好問的?聯合索引的最左前綴原則才是開發人員應該關注的,索引下推只是滿足最左前綴原則后出來一個優化現象而已。

 

下面介紹下索引下推,首先創建一個myperson表

drop table if exists myperson;
create table myperson(
    id bigint not null primary key auto_increment,
    name varchar(50),
    age int,
    key(name,age)
)default charset=utf8 ;

insert into myperson(name,age) values
('andy',29),
('張三',17),
('張三',18),
('張三',19),
('張麻子',19),
('李四',20),
('王五',21),
('趙六',22),
('田七',23);

select * from myperson where name='張三' and age>18; 
select * from myperson where name like '張%' and age>18; 

--上面兩個sql就是索引下推,就是在(name,age)這個索引中,先查詢name,再查詢,最后回表查詢聚簇索引,實際上就是最左前綴原則。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM