mysql5.5.8之后 是innodb的存储引擎。之前默认是myisam。
innodb支持事务。
有表空间概念,分为
- ON独立表空间
- OFF系统表空间。
- 如何选择:
Innodb 数据字典 内部的 保证事务安全性 没有使用mysql内部的数据类型 都是引擎相关的类型 B树 Undo回滚段
服务器层产生frm文件存取数据定义 二进制的 这个用不到
事务:ACID
innodb 如何实现事务的?
Redo Log 和 Undo Log
- Redo Log 重做日志 事务持久性 重做日志缓冲区 innodb_log_buffer_size 文件。存已经提交的事务。顺序写入。
- Undo Log 回滚日志 。mvcc用的。未提交的事务。需要随机读写。
innodb支持行级锁。同mysal的表级锁更好。支持的并发更多。行级锁是存储引擎层实现的。
锁的作用:
- 行锁 表锁 间隙锁 多段锁
- 管理资源的并发访问
- 用于实现事务隔离性
锁类型
- 共享锁
- 独占锁
锁粒度
阻塞和死锁
- 阻塞,等待其他锁释放,慢查询,排它锁,占连接数
- 死锁,多个事务,相互占用等待。
innodb状态检查
show engine innodb status
innodb适用场景
标签:事务,Log,Undo,学习,innodb,Innodb,日志 From: https://www.cnblogs.com/jiangym/p/17456609.html