mysql数据库幻读
时间: 2023-09-18 08:09:53 浏览: 48
在MySQL数据库中,幻读是指一个事务在执行两次相同的查询时,第二次查询返回了新增或删除的数据行,从而导致结果集不一致的情况。幻读主要是由于并发事务操作导致的。
在可重复读隔离级别下,普通的查询是快照读,是不会看到别的事务插入的数据的。因此,幻读在“当前读”下才会出现。而innodb的默认事务隔离级别是rr(可重复读),它的实现技术是mvcc(MVCC只在读提交可重复读两种隔离级别下工作),基于版本的控制协议。该技术不仅可以保证innodb的可重复读,而且可以防止幻读。但是它防止的是快照读,也就是读取的数据虽然是一致的,但是数据是历史数据。
因此,在MySQL数据库中,要避免幻读问题,可以使用更高的事务隔离级别,如串行化隔离级别,或者使用行级锁来解决并发事务导致的数据不一致性问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [常用mysql数据库配置文件](https://download.csdn.net/download/zslsh44/88278582)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [MySQL是如何解决幻读](https://blog.csdn.net/yiqieruni/article/details/121679494)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]