暂无图片
mysql什么时候会出现幻读?
我来答
分享
手机用户6017
2022-11-24
mysql什么时候会出现幻读?

mysql什么时候会出现幻读?

我来答
添加附件
收藏
分享
问题补充
6条回答
默认
最新
yBmZlQzJ

事例:程序员某一天去消费,花了2千元,然后他的妻子去查看他今天的消费记录(全表扫描FTS,妻子事务开启),看到确实是花了2千元,就在这个时候,程序员花了1万买了一部电脑,即新增INSERT了一条消费记录,并提交。当妻子打印程序员的消费记录清单时(妻子事务提交),发现花了1.2万元,似乎出现了幻觉,这就是幻读。

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
ora_221
2022-11-26
清晰
yBmZlQzJ

事务A查询一个范围的结果集,另一个并发事务B往这个范围中插入/删除了数据,并静悄悄地提交,然后事务A再次查询相同的范围,两次读取得到的结果集不一样了,这就是幻读。

暂无图片 评论
暂无图片 有用 1
打赏 0
szrsu
暂无图片

跟事务的隔离级别有关吧

暂无图片 评论
暂无图片 有用 2
打赏 0
鸿惊九天
2022-11-25

与事务隔离级别有关

暂无图片 评论
暂无图片 有用 3
打赏 0
答主
2022-11-24
zhangyfr
2022-11-25
👍🏻
zhangyfr

**读取未提交(READ-UNCOMMITTED):**最低的隔离级别,允许读取尚未提交的数据变更,可能造成脏读、不可重复读、幻读。
**读取已提交(READ-COMMITTED):**允许读取并发事务已经提交的数据,可以避免脏读,但是可能造成不可重复、幻读。
**可重复读(REPEATABLE-READ):**对同一字段多次读取的结果都是一致的,除非本身事务修改,可以避免脏读和不可重复读,但是可能造成幻读。
**可串行化(SERIALIZABLE):**最高的隔离级别,完全服从ACID的隔离级别,所以的事务依次执行,可以避免脏读、不可重复读、幻读。

暂无图片 评论
暂无图片 有用 0
打赏 0
愤怒的蜗牛

学习了

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交