数据库

redo/undo log、binlog

redolog与undolog是innodb里的事务日志。
redolog一般是物理日志,提供前滚操作,记录的是数据页的物理修改。
undolog一般是逻辑日志,提供回滚操作,用来回滚行记录到某一版本。
两种日志一般结合使用。

层次不同。redo/undo 是 innodb 引擎层维护的,而 binlog 是 mysql server 层维护的,跟采用何种引擎没有关系,记录的是所有引擎的更新操作的日志记录。

mySql执行过程

执行过程.png
  • 连接器:管理连接,权限验证
  • 分析器:词法分析,语法分析
  • 优化器:执行计划生成,索引选择
  • 执行器:操作存储引擎,返回结果

一条sql语句执行的很慢是什么情况?

大多数情况下正常,只是偶尔出现很慢的情况

  1. 当在更新数据库中的字段时,会将内存中的数据进行修改,但并不会立即持久化到硬盘中,而是先写入到redolog日志中。如果在更新操作十分频繁的时候,redolog容量有限会很快被写满导致速度变慢。

索引失效

你可能感兴趣的:(数据库)