目录
五十一、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实现的,主要过程是这样的:
- 从服务器在开启主从复制后,会创建出两个线程:I/O线程和SQL线程
- 从服务器的I/O线程,会尝试和主服务器建立连接,相对应的,主服务中也有一个binlog dump线程,是用来和从服务器的I/O线程做交互的。
- 从服务器的I/O线程会告诉主服务的dump线程自己要从什么位置开始接收binlog
- 主服务器在更新过程中,将更改记录保存到自己的binlog中,根据不同的binlog格式,记录的内容可能不一样。
- 在dump线程检测到binlog变化时,从指定位置开始读取内容,然后会被slave的I/O线程把他拉取过去。 这里需要注意,有些资料上面说这里是主服务器向从服务器推的,但是,实际上是从服务器向主服务器拉的。(