横扫150道MySQL大厂面试题【视频+文档】

MySQL是程序员面试的必考题,因其体系庞大,架构设计复杂,是面试的重点与难点。教程基于大厂面试的充分调研,深度挖掘用人企业的标准与要求,针对MySQL知识体系和高频面试题,把内容分为五大部分:MySQL索引、MySQL内部技术架构、MySQL事务、MySQL日志、MySQL开发,共计150道面试题讲解。

  • Mysql索引

001 Mysql如何实现的索引机制?

  1. InnoDB索引与MyISAM索引实现的区别是什么?

  1. 一个表中如果没有创建索引,那么还会创建B+树吗?

  1. 说一下B+树索引实现原理(数据结构) 讲义

InnoDB中的索引方案

  1. 聚簇索引与非聚簇索引b+树实现有什么区别? 聚簇索引

非聚簇索引

  1. 说一下B+树中聚簇索引的查找(匹配)逻辑

  1. 说一下B+树中非聚簇索引的查找(匹配)逻辑

  1. 平衡二叉树,红黑树,B树和B+树的区别是什么?都有哪些应用场景?

  1. 一个b+树中大概能存放多少条索引记录?

  1. 使用B+树存储的索引crud执行效率如何?

  1. 什么是自适应哈希索引?

012 什么是2-3树 2-3-4树?

013 为什么官方建议使用自增长主键作为索引?(说一下自增主键和字符串类型主键的区别和影响)

014 使用int自增主键后 最大id是10,删除id 10和9,再添加一条记录,最后添加的id是几?删除后重启mysql然后添加一条记录最后id是几?

015 索引的优缺点是什么?

  1. 使用索引一定能提升效率吗?

  1. 如果是大段文本内容,如何创建(优化)索引?

  1. 什么是聚簇索引?

  1. 一个表中可以有多个(非)聚簇索引吗?

  1. 聚簇索引与非聚集索引的特点是什么?

  1. CRUD时聚簇索引与非聚簇索引的区别是什么?

  1. 非聚簇索引为什么不存数据地址值而存储主键?

  1. 什么是回表操作?

  1. 什么是覆盖索引?

  1. 非聚集索引一定回表查询吗?

  1. 为什么要回表查询?直接存储数据不可以吗?

  1. 如果把一个 InnoDB 表的主键删掉,是不是就没有主键,就没办法进行回表查询了?

  1. 什么是联合索引,组合索引,复合索引?

  1. 复合索引创建时字段顺序不一样使用效果一样吗?

  1. 什么是唯一索引?

  1. 唯一索引是否影响性能?

  1. 什么时候使用唯一索引?

  1. 什么时候适合创建索引,什么时候不适合创建索引?

  1. 什么是索引下推?

  1. 有哪些情况会导致索引失效?

  1. 为什么LIKE以%开头索引会失效?

  1. 一个表有多个索引的时候,能否手动选择使用哪个索引?

  1. 如何查看一个表的索引?

  1. 能否查看到索引选择的逻辑?是否使用过optimizer_trace?

  1. 多个索引优先级是如何匹配的?

  1. 使用Order By时能否通过索引排序?

  1. 通过索引排序内部流程是什么?

  1. 什么是双路排序和单路排序

  1. group by 分组和order by在索引使用上有什么区别?

  1. 如果表中有字段为null,又被经常查询该不该给这个字段创建索引?

  1. 有字段为null索引是否会失效? 二 MySQL 内部技术架构

  1. Mysql内部支持缓存查询吗?

  1. mysql8为何废弃掉查询缓存?

  1. 替代方案是什么?

  1. Mysql内部有哪些核心模块组成,作用是什么?

  1. 一条sql发送给mysql后,内部是如何执行的?(说一下 MySQL 执行一条查询语句的内部执行过程?)

  1. MySQL 提示“不存在此列”是执行到哪个节点报出的?

  1. 如果一张表创建了多个索引,在哪个阶段或模块进行的索引选择?

  1. MySQL 支持哪些存储引擎?默认使用哪个?

  1. Mysql8.0自带哪些存储引擎?分别是做什么的?

  1. MySQL 存储引擎架构了解吗?

  1. 能否单独为一张表设置存储引擎?

  1. 阿里、京东等大厂都有自研的存储引擎,如何开发一套自己的?

  1. MyISAM 和 InnoDB 的区别是什么?

  1. 具体说一下如何做技术选型三 mysql 事务

  1. 什么是数据库事务?事务的特性是什么?

  1. 什么是ACID?

  1. 并发事务会有哪些问题?

  1. 什么是脏读 065 丢失修改 066 不可重复读 067 幻读

068 不可重复读和幻读有什么区别?

069 Mysql是如何避免事务并发问题的?

  1. 什么是事务隔离级别?

  1. 默认的级别是什么?

  1. 如何选择事务隔离级别?

  1. 靠缓存可以提升高事务隔离级别的性能吗?

  1. Mysql事务隔离是如何实现的?

  1. 什么是一致性非锁定读和锁定读?

  1. 说一下MVCC内部细节

077Mysql事务一致性,原子性是如何实现的?

078Mysql事务的持久性是如何实现的?

  1. 表级锁和行级锁有什么区别?

  1. 什么是行级锁?Mysql如何完成的?

  1. 什么是共享锁(读锁)?

  1. 什么是排它锁(写锁/独占锁)?

  1. 什么是意向锁?

  1. InnoDB支持哪几种锁?

  1. 当前读和快照读分别是什么?

  1. 什么是XA协议?

  1. 什么是mysql xa事务?

  1. xa事务与普通事务区别是什么?

  1. 什么是2pc 3pc?

  1. 是否使用过select for update?会产生哪些操作? 091说一下mysql死锁的原因和处理方法

092 Mysql会产生几种日志?

  1. bin log作用是什么?

  1. redo log作用是什么?

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值