美文网首页
数据库事务的四大特性和事务的隔离级别

数据库事务的四大特性和事务的隔离级别

作者: superxcp | 来源:发表于2018-12-05 21:37 被阅读0次

    脏读:读取了未提交的事务的数据;
    不可重复读:读了一个数据后,这个数据被另外的事务修改了,然后读取的数据与先前读的不一样;
    幻读:一个事务改了一批数据,比如把id=1改成了2,然后一个事务又提交了一行数据,里面id=1,对于前一个数据来说,看着就好像没把这批数据的id全改过来一样,造成幻读。

    事务的四大特性:
    原子性:要么都成功,要么都失败
    一致性:总和相同
    隔离性:避免多个线程操作数据库造成脏读,不可重复读和幻读等问题
    持久性:事务一旦提交,数据改变是永久的,数据库即使遭遇故障也不会丢失事务

    四大隔离级别由低到高:
    读未提交:什么问题不能保证;
    读已提交:避免脏读;
    可重复度:避免脏读、可重复读;
    串行化:避免脏读,可重复读,幻读

    级别越高,数据库实现的成本就越高,比如串行化这种,要通过锁表(类似多线程的锁)的形式去实现,当一个线程执行时候,其他线程只能在外边等待。mysql默认级别是可重复读。
    https://www.cnblogs.com/fjdingsd/p/5273008.html

    相关文章

      网友评论

          本文标题:数据库事务的四大特性和事务的隔离级别

          本文链接:https://www.haomeiwen.com/subject/zghgcqtx.html