MySQL 数据库 事物

MySQL事务隔离级别详解

http://xm-king.iteye.com/blog/770721


数据库事务隔离级别与锁

http://case0079.iteye.com/blog/205201


mysql事务隔离级别设置与查看

http://webnoties.blog.163.com/blog/static/18352514120135910504143/
### MySQL 数据库事务特性 #### 事务的定义 数据库中的事务是指一组操作,这些操作要么全部执行成功并永久生效;如果其中任何一个操作失败,则整个事务都会被撤销,回到最初状态。这确保了数据的一致性和可靠性[^1]。 #### ACID 特性详解 ##### 原子性 (Atomicity) 原子性意味着一个事务是一个不可分割的工作单元,在这个过程中所有的更改都必须作为一个整体完成或者完全不发生。任何部分的成功都不能单独存在,只有当所有步骤都能顺利完成时才会真正提交结果给系统保存下来[^5]。 ##### 一致性 (Consistency) 通过保持系统的约束条件来维护其内部逻辑上的正确无误。每次成功的交易都将使数据库从前一种有效状态转换至另一种同样有效的状态而不会破坏既定规则或引发异常情况的发生[^4]。 ##### 隔离性 (Isolation) 即使多个并发事务同时处理相同的数据项也互不影响各自独立地进行工作而不必担心交叉干扰带来的不确定性因素影响最终的结果准确性。具体实现依赖于所选的不同隔离级别设定[^2]。 ##### 持久性 (Durability) 一旦某个事务完成了它的所有操作并且得到了确认之后,即便遇到硬件故障或其他意外事件也不会丢失已经做出的变化记录,即保证了持久存储的安全可靠程度[^3]。 #### 四种隔离级别及其特点 | 隔离级别 | 描述 | | --- | --- | | **READ UNCOMMITTED** | 可能会读取到未提交的数据变更(脏读),这是最低级别的隔离度| | **READ COMMITTED** | 能够防止脏读现象出现但是仍然允许不可重复读的情况发生| | **REPEATABLE READ** | 提供较高的保护水平,除了阻止前面两种问题外还能避免幻影读的问题| | **SERIALIZABLE** | 它是最严格的模式下运行着最慢效率却提供了最强力保障措施| 为了查询当前使用的隔离等级可以采用如下SQL语句: ```sql SHOW VARIABLES LIKE 'transaction_isolation'; SELECT @@transaction_isolation; ``` 对于想要调整新的会话级别的用户来说则需执行这样的命令: ```sql SET SESSION TRANSACTION ISOLATION LEVEL [所需的隔离级别]; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值