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

目录

五十一、MYSQL主从复制的过程?

五十二、介绍一下InnbDB的数据页,和B+树的关系是什么?

五十三、MYSQL的驱动表是什么?如何选驱动表?

五十四、MYSQL的hash join是什么?

五十五、MYSQL执行大事务会存在什么问题?

五十六、什么是buffer pool?

五十七、buffer pool 的读写过程是怎样的?

读过程

写过程

五十八、MYSQL自增主键用完了会怎么样?

五十九、explain执行计划中,key有值但还是很慢怎么办?

六十、数据库乐观锁的过程中,完全没有加任何锁吗?

六十一、MYSQL的binlog有几种格式?

statement

row

mixed

六十二、介绍下MYSQL5.7中的组提交

六十三、为什么MYSQL8.0要取消查询缓存?

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

六十五、where条件的顺序影响使用索引吗?

六十六、联合索引是越多越好吗?

六十七、为什么不建议使用存储过程?

六十八、一个查询语句的执行顺序是怎样的?

六十九、on和where有什么区别?

七十、InnoDB中的表级锁、页级锁、行级锁?

全局锁

表级锁

意向锁

AUTO-INC锁

字典锁

表级排他&共享锁

七十一、truncate、delete、drop的区别?

七十二、drop之后有办法恢复吗?

七十三、高并发情况下自增主键会不会重复?为什么?

七十四、什么情况会导致自增主键不连续?

七十五、Using filesort能优化吗?怎么优化?

七十六、从innodb索引结构分析,为什么索引的key长度不能太长?

七十七、MYSQL用了函数一定会索引失效吗?

七十八、a,b两个单独索引,where a=xx and b=xx 走哪个索引?为什么?

七十九、什么是索引合并?原理是什么?

八十、MYSQL中如何查看一个SQL的执行耗时?

八十一、MYSQL为什么是小表驱动大表?为什么能提高查询性能?

八十二、什么是数据库的锁升级,InnoDB支持吗?

八十三、A、B、C的联合索引,按照AB、AC、BC查询,能走索引吗?

八十四、什么是索引跳跃扫描?

八十五、MYSQL是AP还是CP的系统?


 

五十一、MYSQL主从复制的过程?

MySQL的主从复制,是基于binlog实现的,主要过程是这样的:

MySQL的主从复制,是基于binlog实现的,主要过程是这样的:

  1. 从服务器在开启主从复制后,会创建出两个线程:I/O线程和SQL线程
  2. 从服务器的I/O线程,会尝试和主服务器建立连接,相对应的,主服务中也有一个binlog dump线程,是用来和从服务器的I/O线程做交互的。
  3. 从服务器的I/O线程会告诉主服务的dump线程自己要从什么位置开始接收binlog
  4. 主服务器在更新过程中,将更改记录保存到自己的binlog中,根据不同的binlog格式,记录的内容可能不一样。
  5. 在dump线程检测到binlog变化时,从指定位置开始读取内容,然后会被slave的I/O线程把他拉取过去。 这里需要注意,有些资料上面说这里是主服务器向从服务器推的,但是,实际上是从服务器向主服务器拉的。(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

神农尝百码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值