1 MySQL的总体架构是怎样的?

2 一条查询语句的执行流程是怎样的?

3 数据库的三范式是什么?

4 char和varchar有何区别?

5 varchar(10)和varchar(20)有何区别?

6 数据库中的索引是什么?

7 数据库中的索引在底层采用何种数据结构?

8 什么是B树?

9 什么是B+树?

10 为什么InnoDB存储引擎采用B+树而非B树作为数据结构?

11 数据库中的聚簇索引是什么?

12 数据库中的哈希索引是什么?

13 数据库中的覆盖索引是什么?

14 数据库中的索引分为几种类型?

15 什么是最左前缀原则?

16 怎么知道一条SQL语句在执行过程中是否使用了索引?

17 哪些查询语句不使用索引?

18 如何优化查询语句的性能?

19 InnoDB和MyISAM两种存储引擎有何区别?

存储引擎InnoDBMyISAM
事务支持不支持
全文索引5.6版本前不支持支持
count()逐行扫描统计总行数瞬间返回总行数
外键支持不支持
既支持表锁也支持行锁只支持表锁

20 什么是水平分表和垂直分表?

21 主从复制涉及到哪几个线程?

22 什么是主从同步延迟?如何缩短主从同步延迟?

23 什么是数据库的读写分离?

24 数据库事务都有哪些特性?

25 什么是数据库的脏读、幻读和不可重复读?

26 什么是数据库的事务隔离级别?

27 MySQL和Oracle数据库默认的事务隔离级别分别是什么?

28 什么是MVCC?

29 什么是MySQL数据库的行锁和表锁?

30 InnoDB存储引擎都支持哪些行锁?

31 MySQL数据库的问题排查都有哪些手段?

32 MySQL数据库的处理器占用突然飙升怎么处理?