当前位置:网站首页>Mysql08(事务)
Mysql08(事务)
2022-07-21 06:40:00 【丿乐灬学】
事务:表示操作集合,不可分割,要么全部成功,要么全部失败
事务的开始取决于一个DML语句
/*
事务的结束
1、正常的commit(使数据修改生效)或者rollback(将数据恢复到上一个状态)
2、自动提交,但是一般情况下要将自动提交进行关闭,效率太低
3、用户关闭会话之后,会自动提交事务
4、系统崩溃或者断电的时候回回滚事务,也就是将数据恢复到上一个状态
*/
insert into emp(empno,ename) values(2222,'zhangsan');
--commit;
--rollback;
select * from emp;
--savepoint 保存点
--当一个操作集合中包含多条SQL语句,但是只想让其中某部分成功,某部分失败,此时可以使用保存点
--此时如果需要回滚到某一个状态的话使用 rollback to sp1;
delete from emp where empno = 1111;
delete from emp where empno = 2222;
savepoint sp1;
delete from emp where empno = 1234;
rollback to sp1;
commit;
/*
事务的四个特性:ACID
原子性:表示不可分割,一个操作集合要么全部成功,要么全部失败,不可以从中间做切分
一致性:最终是为了保证数据的一致性,当经过N多个操作之后,数据的状态不会改变(转账)
从一个一致性状态到另一个一致性状态,也就是数据不可以发生错乱
隔离性:各个事务之间相关不会产生影响,(隔离级别)
严格的隔离性会导致效率降低,在某些情况下为了提高程序的执行效率,需要降低隔离的级别
隔离级别:
读未提交
读已提交
可重复读
序列化
数据不一致的问题:
脏读
不可重复读
幻读
持久性:所有数据的修改都必须要持久化到存储介质中,不会因为应用程序的关闭而导致数据丢失
四个特性中,哪个是最关键的?
所有的特性中都是为了保证数据的一致性,所以一致性是最终的追求
事务中的一致性是通过原子性、隔离性、持久性来保证的
锁的机制:
为了解决在并发访问的时候,数据不一致的问题,需要给数据加锁
加锁的同时需要考虑《粒度》的问题:
操作的对象
数据库
表
行
一般情况下,锁的粒度越小,效率越高,粒度越大,效率越低
在实际的工作环境中,大部分的操作都是行级锁
*/
边栏推荐
猜你喜欢
[data analysis 01]
Diffusion Model
Cannot open source file < stdio. in CUDA file h>
MQTT5.0新特性(比对3.1.1)
Installation du gestionnaire de loisirs
【RM_EE_Note】1 GM6020收发&简单的PID调试
The Sandbox 联手 Agoria,共同打造 Agoriaverse
解读符合新时代主流的创客教育模式
Steve Aoki's Avatar will come to the sandbox metauniverse!
Word 2016 strange problem: file save error copy crash
随机推荐
Word 2016 strange problem: file save error copy crash
Explore the interest in robot maker Education
分析少儿编程思维的启蒙问题
(pytorch进阶之路七)Attention Based Seq2Seq
06. Introduction, installation and simple use of octave
C language flexible array
vector的常见接口介绍
两个list求差
< a> The tag jumps to the server page and realizes the transfer of parameters
Cloud foundry 4: application lifecycle
Leetcode [sword finger offer II 068. find the insertion position
Selenium被检测为爬虫,怎么屏蔽和绕过
Design and implementation of tcp/ip protocol stack LwIP: Part VI
探寻机器人创客教育中的趣味
Centos7 online MySQL installation
IP 地址段分类
DOM -- style operation
如何测试webservice接口
Web automation processing "sliding verification code"
B类网络子网划分