什么是脏读、不可重复读、幻读
时间: 2023-10-28 14:35:18 浏览: 238
脏读不可重复读幻影读
这三种问题都是数据库中数据一致性的问题,具体解释如下:
1. 脏读:指在一个事务内读取到了另一个未提交的事务修改的数据。也就是说,一个事务读取到了另一个事务还没有提交的“脏”数据。
2. 不可重复读:指在一个事务内读取到了另一个已经提交的事务修改的数据。也就是说,在一个事务内,同一个查询可能会多次返回不同的结果。
3. 幻读:指在一个事务内多次执行同一查询,但每次返回的结果集都不同。也就是说,在一个事务内,执行相同的查询可能会返回不同的结果集。
这些问题的出现都是因为并发事务的存在,而数据库系统采用了锁机制来解决这些问题。在脏读问题中,可以使用排他锁来避免;在不可重复读问题中,可以使用共享锁避免;在幻读问题中,可以使用间隙锁和临键锁来避免。
阅读全文