其实本章主要讲一下mysql的日志、关联查询join的内部衍生的算法以及优化方案。
一、mysql的主从复制
master(主服务器)写入 binlog日志
- 事件通知 slave(从服务器)
- slave的 IO Thread 读取binlog并 写入relay log
- SQL Thread 读取 relay log 同步到数据库
以上就是数据(日志)的同步过程。
二、binlog
以上暴露除了一个点 什么是 bin log?
1、定义
bin log是MySQL的二进制日志,可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。
2、使用场景
- MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的。 (就是上面第一点主从复制)
- 自然就是数据恢复了,通过使用mysqlbinlog工具来使恢复数据。
三、Join原理
咱们在做关联查询的时候,经常用到j