Mysql事物处理

来源:互联网 发布:java socket服务器 编辑:程序博客网 时间:2024/05/17 08:38

使用事物处理功能时,3个重要的命令BEGIN,COMMIT,ROLLBACK,

声明事物处理开始:BEGIN(START TRANSACTION);

提交事物:COMMIT;

回滚到事物开始的地方:ROLLBACK;

将事物自动提交功能设置为ON,OFF:

将自动提交功能设为ON:SET AUTOCOMMIT=0;

设为OFF:SET AUTOCOMMIT=1;这种情况要手动COMMIT;

部分回滚:

定义保存点:SAVEPOINT 保存点名;

回滚到制定保存点:ROLLBACK TO SAVEPOINT 保存点名;

事物处理的利用范围:

CREATE,DROP,ALERT,是DDL(数据定义语言)自动COMMIT,隐式提交,无法回滚DELETE,UPDATE,INSERT,SELECT是DML(数据操作语言)显示提交,需要手工COMMIT,可以回滚;
锁定与事物处理分离水平:
锁的种类:共享锁:排他锁;
锁定粒度:
锁定对象的大小:
记录(行);
表;
数据库;
事物处理的分离水平:
分离水平越高,数据整合性就越高,但同时运行性降低,如果分离水平越低,数据整合性降低,运行性就越高;
1.非提交读:即可以从别的事务处理中读取到还没有提交的更新数据,非提交读的现象只发生在分离水平位READ UNCOMMITTE的场合;
2.不可重复读;是在某一事物处理中对同一数据进行多次读取,但由于其他事物处理的更新动作使得读取的数据状态发生了改变;
3.幻读;是在某一事物处理中对同一数据进行多次读取,但由于其他事物处理的删除,插入动作使得读取的数据出现了第一次读取时不存在的数据或第一次读取时有的数据消失了的现象;
SET TRANSTACTION ISOLATION LEVEL 是用来修改分离水平。



0 0
原创粉丝点击