MySQL面试整理
https://houchen-study.oss-cn-hangzhou.aliyuncs.com/%E9%9D%A2%E8%AF%95/MySQL/MySQL%E9%9D%A2%E8%AF%95%E5%A4%A7%E5%85%A8%281%29.pdf
数据库基础知识
为什么要使用数据库?
什么是MySQL?
数据库的三大范式是什么?
MySQL有关权限的表有哪几个?
MySQL的binlog有几种格式,分别有什么区别
数据类型
mysql有哪几种数据类型?
引擎
MySQL存储不引擎 MyIsam和innodb的区别?
MyISAM和Innodb索引的区别?
Innodb引擎的四大特性
MyISAM和innodb应该如何选择?
索引
什么是索引?
索引的优缺点
索引的使用场景(重要)
索引有哪几种类型?
主键索引、唯一索引、普通索引
索引的数据结构?
B+树 hash索引
索引设计的原则
创建索引的原则
创建索引时需要注意什么?
使用索引查询一定能提高查询的性能吗?
B树和B+树的区别
1、在B树中,内部节点和叶子节点都可以存放键和值;但是在B+树中内部节点只有键没有值,只有叶子节点中才有键和值
2、B+树叶子节点之间是双向链表,B树叶子节点相互独立
B树的优点
使用B+树的好处
1、因为B+树的非叶子节点只存储键,非数据页中可以存储更多的键值,B+树更矮更胖,查询数据的速度更高
2、全表扫描B+树更快
Hash索引和B+树索引的优劣
数据库为什么使用B+树,不用B树?
- B树只适合随机检索,B+树同时支持随机检索和顺序检索
B+树在满足聚簇索引和覆盖索引的时候不需要回表操作
什么是聚簇索引,何时使用聚簇索引和非聚簇索引?
- 聚簇索引:
非聚簇索引一定会进行回表查询吗?
覆盖索引的情况下,则不会进行回表查询
联合索引是什么?为什么需要联合索引的顺序?
对表中的多个字段建立的索引就是联合索引