【全网最全最详细】MYSQL 面试题大全(上)

目录

一、关系型数据库和非关系型数据库主要有哪些区别?

二、MYSQL的数据存储一定是基于硬盘的吗?

三、InnoDB和MyISAM有什么区别?

四、MyISAM的索引结构是怎么样的?存在的问题是什么?

五、char和varchar的区别?

六、MYSQL 5.x和8.0有什么区别?

七、为什么大厂不建议使用多表join?

八、都有哪些join语句?

九、说一说join关联语句的嵌套循环算法?

十、不能用join如何做关联查询?

十一、说一说MYSQL一条SQL语句的执行过程?

十二、InnoDB支持哪几种行格式?

十三、什么是数据库事务?

十四、InnoDB的一次更新事务是怎么实现的?流程是什么?

十五、说一说有几种事务隔离级别?

十六、InnoDB如何解决脏读、不可重复读和幻读的?

十七、MYSQL的select * 会用到事务吗?

十八、为什么默认隔离级别是RR,大厂要改成RC?

十九、InnoDB的RR到底有没有解决幻读问题?

二十、如何理解MVCC?

二十一、当前读和快照读有什么区别?

二十二、介绍下InnoDB的锁机制?

二十三、MYSQL的行级锁锁的到底是什么?

二十四、什么是排他锁和共享锁?

二十五、什么是意向锁?

二十六、如何实现乐观锁与悲观锁?

二十七、InnoDB中的索引类型?

二十八、InnoDB为什么使用B+树实现索引?

二十九、什么是聚集索引和非聚集索引?

三十、如何表中没有创建主键,那么聚集索引怎么办?

三十一、什么是回表?怎么减少回表次数?

三十二、什么是覆盖索引?索引下推?

覆盖索引

索引下推

三十三、什么是最左前缀法则?

三十四、mysql的主键一定是自增的吗?

三十五、uuid和自增id做主键哪个好?

三十六、order by是怎么实现的?

三十七、count(1)、count(*)、count(列名) 有什么区别?

三十八、count(*) 做了哪些优化呢?

三十九、limit 0,100 和 limit 10000000, 100 一样吗?

四十、limit 和 order by组合时,如果排序字段有重复值,每次返回都是不同的结果,如何解决?

四十一、SQL语句如何实现insertOrUpdate功能的?

四十二、binlog、redolog和undolog什么区别?

四十三、SQL执行计划分析的时候,需要关注哪些信息?

四十四、mysql是否支持emoji表情?

四十五、mysql只操作同一条记录,也会发生死锁吗?

四十六、数据库死锁如何解决?

四十七、你前面说不建议用join,那不用join如何做关联查询呢?

四十八、如何进行SQL调优?

四十九、区分度不高的字段建索引一定没用吗?

五十、慢SQL如何排查?


一、关系型数据库和非关系型数据库主要有哪些区别?

  1. 关系型数据库以表的形式进行存储数据,而非关系型数据库以Key-value的形式存储数据。
  2. 关系型数据库需要保证事务的ACID,而非关系型数据库中的事务一般无法回滚。(也有部分数据库可以回滚,如MongoDB在集群模式下)
  3. 关系型数据库可以通过一张表中的任意字段进行查询,非关系型数据库需要通过key进行查询。
  4. 一般来说,关系型数据库是基于硬盘存储,非关系型数据库基于内存存储。(Mongodb基于磁盘存储)。
  5. 关系型数据库支持各种范围查询、公式计算等,非关系型数据库不一定支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思想和宇宙同频

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值