怎么查看网站的友情链接,辽宁建设工程信息网场内业绩什么意思,局网站建设工作总结,西安网站建设高端数据库之事务
事务的特点#xff1a;
ACID
原子性
一致性#xff1a;数据库的完整性约束#xff0c;不能被破坏
隔离性
持久性#xff1a;数据一旦提交#xff0c;事务的效果将会被永久的保留在数据库中。而且不会被回滚
主从复制
高可用
备份
权限控制 脏读
ACID
原子性
一致性数据库的完整性约束不能被破坏
隔离性
持久性数据一旦提交事务的效果将会被永久的保留在数据库中。而且不会被回滚
主从复制
高可用
备份
权限控制 脏读另外一个事务能够看到另一个事务未提交的修改结果 事务隔离级别的作用范围
1、全局级对所有的会话有效
2、会话级只对当前的会话有效
show global variables like ‘%isolation’;查询全局事务的隔离级别
select global.txisolation;查询全局事务的隔离级别
show session variables like ‘%isolation’;查询会话事务的隔离级别
select session.txisolation;查询会话事务的隔离级别 设置全局事务的隔离级别
set global transation isolation level read uncommitted; 临时修改全局事务的隔离级别重启服务即失效
set global.tx_isolation’read uncommitted’; 设置会话的隔离级别
set session transation isolation level read uncommitted; 设置临时会话的隔离级别
set session.tx_isolation’read uncommitted’; 不可重复读一个事务内多次读同一数据
前一个事务还没有结束另一个事务也访问该数据
在一个事务之内两次查询到结果不一致读不到相同的数据内容 幻读一个事务对一个表中的数据进行了修改可能会涉及到表中的全部数据。
另一个事务也修改了表中的数据。
例如插入了一行新的数据前一个事务会发现表中还有数据没有修改类似于幻觉 丢失更新两个事务同时修改一条记录A先记录B也修改了记录B一旦提交会覆盖A的结果 面试题
以上这些情况如何避免
1、权限控制
2、根据情况来使用隔离级别
生产环境----最好是提交读
测试环境----无所谓
3、生产环境只能允许一个人对一个事务进行操作。其他人不允许操作 总结在事务管理中原子性是基础隔离性是手段一致性是目的 持久性是最终的结果 事务的控制语句
BEGIN显示的开启事务
START transaction显示的开启事务 commit提交事务
commit work提交事务 rollback回滚撤销正在进行的所有未提交的修改
rollback work回滚撤销正在进行的所有未提交的修改 savepoint s1;创建回滚点一个事务可以有多个回滚点
rollback to s1;回滚到还原点 注意
1、多点还原s1和s2
如果说还原到s1 mysql提交事务是默认提交
可以用set来设置mysql的提交方式
show variables like ‘autocommit’;
set autocommit0; 默写
1、AICD分别是什么
A原子性
C一致性
I隔离性
D持久性
2、mysql支持的隔离级别分别是什么
未提交读
可重复读
提交读
串行读
3、脏读幻读不可重复读和丢失更新怎么预防
权限控制
设置合理的隔离级别
生产中主要还是串行读