ToB企服应用市场:ToB评测及商务社交产业平台

标题: [MySQL事务一文搞懂] [打印本页]

作者: 水军大提督    时间: 2023-5-17 16:12
标题: [MySQL事务一文搞懂]
[MySQL事务一文搞懂]

1、什么是事务?

事务(Transaction),顾名思义就是要做的或所做的事情,数据库事务指的则是作为单个逻辑工作单元执行的一系列操作(SQL语句)。这些操作要么全部执行,要么全部不执行。

2、为什么需要事务

把一系列sql放入一个事务中有两个目的:

3、事务的四大特性(ACID)

ACID 即Atomicity、Consistency、Isolation、Durability的缩写

1、原子性(Atomicity)

一个事务的执行是整体性的,不可分割,包含在其中的对数据库的操作要么全部被执行,要么都不执行。

2、一致性(Consistency)

事务应确保数据库的状态从一个一致状态转变为另一个一致状态。例如转账行为中:一个人减了50元,另    外一个人就应该加上这50元,而不能                                是40元。其他一致状态的含义是数据库中的数据应满足完整性约束,    例如字段约束不能为负数,事务执行完毕后的该字段也同样不是负数

3、隔离性(Isolation)

多个事务并发执行时,一个事务的执行不应影响其他事务的执行,    且多个事务不能看到对方的中间状态(提交或者回滚之前的状态)

4、持久性(Durability)

一个事务的提交,对数据库的修改是永久保存在数据库中的,不受外部因素或其他操作影响。

4、事务的隔离级别

注意:  下方表格即代表 每个隔离级别是否存在并发事务所导致的问题!
隔离级别脏读不可重复读幻读Read uncommitted   读未提交Read committed  读已提交×Repeatable Read (MySQL默认隔离级别)  可重复读××Serializable  串行化×××5、并发事务导致的问题!

注意:下列问题其实就是由于并发事务可能会出现的问题(可用提高数据库隔离级别解决 下面会详解)


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4