数据库ACID原则和事务隔离级别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库ACID原则和事务隔离级别相关的知识,希望对你有一定的参考价值。

数据库ACID原则

A:原子性,Atomicity

C:一致性,Consistency

I:隔离性,Isolation

D:持久性,Durability

    在mysql中的innodb引擎,原子性,一致性,隔离性通过redo和undo实现,redo就是ib_logfile物理文件,而undo默认在共享表空间ibdata里面,通过设置参数可以独立出来.


事务隔离级别

Read Uncommitted(读未提交)    缺点是允许脏读,不允许同时进行写操作,但允许其他事务读没有提交的数据

Read Committed(读已提交),    缺点是允许幻读(之前不存在,但后来已提交的数据),不允许同时进行写操作,只允许读已提交的数据,但允许不可重复读(两次读的数据允许不一致),oracle和sqlserver的默认隔离级别.

Repeatable Read(可重复读),    禁止不可重复读取和脏读,在极端情况下会有幻读,总体符合ACID原则,mysql默认的隔离级别.

Serializable(串行化),    缺点是并发能力差,最严格的事务隔离,完全符合ACID原则,

以上是关于数据库ACID原则和事务隔离级别的主要内容,如果未能解决你的问题,请参考以下文章

事务及事务隔离级别

事务及事务隔离级别

转事务及事务隔离级别

数据库事务及事务隔离级别

MySQL中事务隔离级别

理解事务的4种隔离级别