MySQL事务和隔离级别
2016-09-05 15:00
513 查看
MySQL事务和隔离级别
连接管理器:
接受请求
创建线程
认证用户
建立安全连接
并发控制:
最简单机制是使用锁
多版本并发控制: MVCC(使用其他机制)
锁:
读锁:共享锁
写锁:独占锁
加锁: LOCK TABLES tb_name {READ|WRITE};
解锁: UNLOCK TABLES
锁粒度:从大到小,MySQL服务器仅支持表级锁,行锁需要由存储引擎完成;
表锁:
页锁:
行锁:
事务:
RDBMS: ACID (原子性,一致性,隔离性,持久性)
事务日志:为事务提供ACID兼容性(日志中只是记录操作过程)
重做日志
redo log
撤销日志
undo log
隔离性:
隔离级别:
READ UNCOMMITTED:读未提交
READ COMMITTED:读提交
REPATABLE READ:可重读
SERIABLIZABLE:可串行
查询默认隔离级别:
show global variables like ‘%iso%’;
多事务同时执行:彼此之间互不影响的方式进行并行;
事务之间交互:
通过数据集
事务:CPU, I/O
RDBMS,
ACID:
Automicity:原子性,事务所引起的数据库操作,要么都完成,要么都不执行;
Consistency:一致性,A(3000)–>B(2000)
1:A:3000–>2500,
2: A+B: 4500,
Isolation: 隔离性
事务调度:事务之间影响最小
MVCC:多版本并发控制
Durability:一旦事务成功完成,系统必须保证任何故障都不会引起事务表示出不一致性;
1、事务提交之前就已经写出数据至持久性存储;
2、结合事务日志完成;
事务日志:顺序IO
数据文件:随机IO
事务一旦提交就不能撤销
事务:并发执行
1、提高吞吐量和资源利用率
2、减少等待时间
事务调度:
可恢复调度;
无级联高度:
并发控制依赖的技术手段:
锁
时间戳
多版本和快照隔离
START TRANSACTION | BEGIN:启动事务
SQL
SQL
COMMIT: 提交
ROLLBACK: 回滚
如果没有明确启动事务:
autocommit:能实现自动提交,每一个操作都直接提交;
保存点:SAVEPOINT sid
回滚至保存点:ROLLBACK TO sid
连接管理器:
接受请求
创建线程
认证用户
建立安全连接
并发控制:
最简单机制是使用锁
多版本并发控制: MVCC(使用其他机制)
锁:
读锁:共享锁
写锁:独占锁
加锁: LOCK TABLES tb_name {READ|WRITE};
解锁: UNLOCK TABLES
锁粒度:从大到小,MySQL服务器仅支持表级锁,行锁需要由存储引擎完成;
表锁:
页锁:
行锁:
事务:
RDBMS: ACID (原子性,一致性,隔离性,持久性)
MyISAM:不支持事务 InnoDB:支持事务
事务日志:为事务提供ACID兼容性(日志中只是记录操作过程)
重做日志
redo log
撤销日志
undo log
隔离性:
隔离级别:
READ UNCOMMITTED:读未提交
READ COMMITTED:读提交
REPATABLE READ:可重读
SERIABLIZABLE:可串行
查询默认隔离级别:
show global variables like ‘%iso%’;
多事务同时执行:彼此之间互不影响的方式进行并行;
事务之间交互:
通过数据集
事务:CPU, I/O
RDBMS,
ACID:
Automicity:原子性,事务所引起的数据库操作,要么都完成,要么都不执行;
Consistency:一致性,A(3000)–>B(2000)
1:A:3000–>2500,
2: A+B: 4500,
Isolation: 隔离性
事务调度:事务之间影响最小
MVCC:多版本并发控制
Durability:一旦事务成功完成,系统必须保证任何故障都不会引起事务表示出不一致性;
1、事务提交之前就已经写出数据至持久性存储;
2、结合事务日志完成;
事务日志:顺序IO
数据文件:随机IO
事务的状态: 活动的:active 部分提交的:最后一条语句执行后 失败的: 中止的: 提交的:
事务一旦提交就不能撤销
事务:并发执行
1、提高吞吐量和资源利用率
2、减少等待时间
事务调度:
可恢复调度;
无级联高度:
并发控制依赖的技术手段:
锁
时间戳
多版本和快照隔离
START TRANSACTION | BEGIN:启动事务
SQL
SQL
COMMIT: 提交
ROLLBACK: 回滚
如果没有明确启动事务:
autocommit:能实现自动提交,每一个操作都直接提交;
建议:明确使用事务,并且关闭自动提交;
保存点:SAVEPOINT sid
回滚至保存点:ROLLBACK TO sid
相关文章推荐
- MySQL事务学习-->隔离级别
- [转]MySQL事务学习-->隔离级别
- MySQL之事务隔离级别--转载
- MySQL 事务的隔离级别与锁
- SQL事务的四种隔离级别和MySQL多版本并发控制
- 解读MySQL事务的隔离级别和日志登记模式选择技巧
- 关于MySQL的事务处理及隔离级别
- 事务的隔离级别及mysql对应操作
- MySQL事务隔离级别详解
- MySQL的事务处理及隔离级别
- 事务的隔离级别及mysql中相关的设置
- mysql事务的隔离级别
- Mysql事务的隔离级别
- 关于MySQL的事务处理及隔离级别
- mysql锁--事务及隔离级别--存储引擎
- 解读MySQL事务的隔离级别和日志登记模式选择技巧
- mysql读事务的隔离级别
- 测试你对MySQL事务与隔离级别的理解的一道题
- 关于MySQL的事务处理及隔离级别
- MySQL事务和隔离级别