数据库事务-脏读和幻读

      理解所谓的脏读和幻读,还需简单过一下数据库的事务,那么 什么是事务呢?

      数据库事务:一组对数据库有序操作的逻辑单元,简称为事务。重点理解是一组有序操作单元。比如跟新lz的访问人数这个简单的逻辑单元。需要对数据库的操作有 1 select 楼主的访问人数  2 update 访问人数++ 。

     事务的特点:

        原子性:对数据库有序操作,要么全部成功,要不全部失败。(没有英雄主义)

        一致性:对数据库有序操作,数据获取一致,总是从一个一致性状态转移到另一个一致性状态

        隔离性:多个事务并发,事务间不会彼此影响。

        持久性:保障永久保存再数据库中。也是数据库最基本的功能。

    对事务有一定了解之后 咱们继续讲脏读、幻读、和不可重复读。 这几个概念主要是针对隔离性。多事务间的相互影响。

    脏读:无效数据读取 。如事务A读取了事务B未commit的数据,多发生在事务B insert update delete操作。

    不可重复读: 事务A 第二次查询的数据和第一次查询的数据数不一致,多发生在事务B的 insert  delete 操作。

    幻读:事务A多次操作获取的数据发生了变化或者第一次查询不存在,insert的时候确发生冲突,多发生在事务B update操作。

 

你可能感兴趣的:(软件测试-测开)