redo/undo log、binlog
redolog与undolog是innodb里的事务日志。
redolog一般是物理日志,提供前滚操作,记录的是数据页的物理修改。
undolog一般是逻辑日志,提供回滚操作,用来回滚行记录到某一版本。
两种日志一般结合使用。
层次不同。redo/undo 是 innodb 引擎层维护的,而 binlog 是 mysql server 层维护的,跟采用何种引擎没有关系,记录的是所有引擎的更新操作的日志记录。
mySql执行过程
- 连接器:管理连接,权限验证
- 分析器:词法分析,语法分析
- 优化器:执行计划生成,索引选择
- 执行器:操作存储引擎,返回结果
一条sql语句执行的很慢是什么情况?
大多数情况下正常,只是偶尔出现很慢的情况
- 当在更新数据库中的字段时,会将内存中的数据进行修改,但并不会立即持久化到硬盘中,而是先写入到redolog日志中。如果在更新操作十分频繁的时候,redolog容量有限会很快被写满导致速度变慢。