MySQL 面试时,往往索引知识是最常被问到的,本节就来聊聊索引相关的一些面试题。
1、B+树与 B 树的区别
答案参考慕课网专栏《一线数据库工程师带你深入理解 MySQL》第10节-为什么添加索引能提高查询速度? http://www.imooc.com/read/43/article/690
2、请简单描述下聚集索引,其叶子结点存放的是什么内容?另外辅助索引的叶子结点存放的是什么内容?
答案参考慕课网专栏《一线数据库工程师带你深入理解 MySQL》第10节-为什么添加索引能提高查询速度? http://www.imooc.com/read/43/article/690
3、联合索引什么情况下会回表查询?
答案参考慕课网专栏《一线数据库工程师带你深入理解 MySQL》第10节-为什么添加索引能提高查询速度? 的留言板块。 http://www.imooc.com/read/43/article/690
4、哪些场景需要创建索引?
答案参考慕课网专栏《一线数据库工程师带你深入理解 MySQL》第11节-哪些情况需要添加索引? http://www.imooc.com/read/43/article/691
5、普通索引和唯一索引有哪些区别
答案参考慕课网专栏《一线数据库工程师带你深入理解 MySQL》第12节-普通索引和唯一 http://www.imooc.com/read/43/article/692
6、请画一个联合索引的图
答案参考慕课网专栏《一线数据库工程师带你深入理解 MySQL》第13节-联合索引有哪些讲究? http://www.imooc.com/read/43/article/693
7、列举几种能完整用到联合索引的情况
答案参考慕课网专栏《一线数据库工程师带你深入理解 MySQL》第13节-联合索引有哪些讲究? http://www.imooc.com/read/43/article/693
8、列举几种能用到覆盖索引的情况
答案参考慕课网专栏《一线数据库工程师带你深入理解 MySQL》第13节-联合索引有哪些讲究? http://www.imooc.com/read/43/article/693
9、表 t1 结构如下:
CREATE TABLE `t11` ( /* 创建表t11 */`id` int(11) NOT NULL AUTO_INCREMENT,`a` int(20) DEFAULT NULL,`b` int(20) DEFAULT NULL,`c` int(20) DEFAULT NULL,`d` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`),KEY `idx_a_b_c` (`a`,`b`,`c`)) ENGINE=InnoDB CHARSET=utf8mb4 ;
下面这条 SQL 是否能使用完整的联合索引;另外请判断其执行计划中,key_len 的值为多少?
select * from t11 where a=1 and b=2 order by c;
答案参考慕课网专栏《一线数据库工程师带你深入理解 MySQL》第13节-联合索引有哪些讲究? http://www.imooc.com/read/43/article/693
10、show index from t1;有哪些重要的字段,分别解释他们的含义。
答案参考慕课网专栏《一线数据库工程师带你深入理解 MySQL》第14节-为什么MySQL会选错索引? http://www.imooc.com/read/43/article/694
欢迎订购慕课网专栏《一线数据库工程师带你深入理解 MySQL》,以上面试题在专栏都能找到详细答案。
专栏知识图如下(长按下图查看专栏详情):

另外,我们创建了一个 MySQL 交流社群,围绕开发、运维、DBA、架构师和其他需要用到 MySQL 的群体,群内会不定期邀请一些身边的数据库大牛解答大家的问题,也会分享一些读书笔记、面试技巧等,同时也用于大家交流 MySQL 的学习技巧!
入群请加下方群秘二维码,回复 MySQL,等待群秘邀你入群。

文章转载自MySQL数据库联盟,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




