MySQL数据库面试总结(持续更新)

一、基础知识
1、DQL语句

2、DML语句

3、DDL语句

4、DCL语句

二、索引
1、什么是索引?

2、InnoDB常见索引类型有哪些?二者区别有哪些?
类型:B+索引、哈希索引
区别:
B+索引数据结构为B+树,有序的数据结构特性更利于范围查找,支持最左前缀原则
哈希索引数据结构为key-value,更适合等值查询,不支持最左前缀原则,当出现大量重复键值对的时候,存在哈希碰撞,会使哈希索引效率较低

3、为什么索引用B+树?为什么不用二叉搜索树、平衡二叉树、(红黑树)、B树?
https://www.cnblogs.com/everlose/p/12821203.html

4、聚簇索引和非聚簇索引区别?

5、什么是覆盖索引?如果不想回表查询怎么办?

6、最左前缀原则是什么?联合索引什么字段放到前面?
where查询概率高的字段放在前面

7、索引下推是什么?
(和like查询和回表有关)

8、判断是否走索引的方法?
explain

9、为什么有的时候会选错索引?
暂不清楚,可能和优化器有关?

10、面试题
https://www.cnblogs.com/williamjie/p/11187470.html

三、count和order by(极客时间对应count和order by文章)
1、Mylsam和InnoDB对count(*)处理的逻辑有何不同 ?

2、count(*)、count(1)、count(主键)、count(字段)区别?是否走索引?

3、count(*)的索引怎么选?

4、order by有几种排序方式?分别是什么?
两种,全字段排序和row_id排序

5、order by两种排序方式具体怎么实现?

6、order by两种排序方式区别?

四、事务隔离
1、事务四大特性?各个事务的具体解释?

2、InnoDB和Mylsam哪个存储引擎支持事务?

3、什么是脏读、不可重复读、幻读?

4、更新丢失有几类?分别是什么?

5、事务隔离有哪几个等级?

6、SQL标准下每个事务隔离等级分别有哪些问题?

7、可串行化读加表级读锁、写加表级写锁?

五、MVCC

六、锁
1、锁的分类?
按锁能覆盖的大小分类:表锁、页锁、行锁
按锁思想分类:悲观锁、乐观锁

2、锁的模式?加锁后本事务和其他事务是否能够加读锁或写锁进行读或写?
读锁、写锁

3、表锁分类?各自具体有什么功能?
(表级)读锁、(表级)写锁、读意向锁、写意向锁、自增锁

4、RC级别下行锁分类?各自具体有什么功能?具体语句下怎么加锁?

5、RR级别下行锁分类?各自具体有什么功能?具体语句下怎么加锁?

6、

七、其他
1、自增id和uuid的区别和优缺点?

2、数据库三范式是什么?

3、Mysql基础架构?各部分作用?
客户端、Server层(连接器、查询缓存、分析器、优化器、执行器)、存储引擎

4、Mysql日志系统有几种日志?

5、关系型数据库和非关系型数据库的区别?

6、InnoDB和Mylsam的区别?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值