MySQL基础模块

本文档题目来自MySQL纯手写面试笔记解析,2020锤爆35K月薪,你值得拥有
闲谈:迷茫迷茫迷茫~~~~~~。

说一下 MySQL 执行一条查询语句的内部执行过程
MySQL 查询缓存的功能有何优缺点?
MySQL 的常用引擎都有哪些?
常用的存储引擎 InnoDB 和 MyISAM 有什么区别?
MySQL 中什么情况会导致自增主键不能连续?
InnoDB 中自增主键能不能被持久化?

说一下 MySQL 执行一条查询语句的内部执行过程(可知数据库驱动已经加载)
  1. 连接器(username,password,url)
  2. 查询缓存(mysql中的缓存8.0之后没默认移除了)
  3. 分析器(词法语法分析器。查看sql语句是否正确)
  4. 优化器(查看是否执行索引,按照最优的方案去执行)
  5. 执行器(执行语句,拿回返回数据)
  6. 存储引擎(主要负责数据的存储和读取)
MySQL 查询缓存的功能有何优缺点?
  1. 每一条查询sql都会被当做K重新记录,不需要额外解释和执行。
  2. 会出现内存碎片
MySQL 的常用引擎都有哪些?
引擎名称是否支持事务优点
innoDB支持提供事务操作、行级锁定(主键列,非主键列全表锁定)
MyISAM不支持提供高速存储、检索、全文搜索
常用的存储引擎 InnoDB 和 MyISAM 有什么区别?

区别

一张自增表中有三条数据,删除了两条数据之后重启数据库,再新增一条数据,此时这条数据的 ID 是几?1-7,删除6,7。下一条是8

引擎方式
MySIAM将自增主键保存在了数据文件中。
InnoDB保存在内存中,重启之后自增主键依靠redolog恢复之前的值。
MySQL 中什么情况会导致自增主键不能连续?
  1. 唯一键冲突
  2. 事务回滚
InnoDB 中自增主键能不能被持久化?

保存在了内存里,并且到了 MySQL 8.0 版本后,才有了“自增值持久化”的能力,也就是才实现了“如果发生重启,表的自增值可以恢复为 MySQL 重启前的值”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值