“事务”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
(建立内容为“事务的并发问题: 1.脏读 一个事务读取到了另一个事务未提交的数据操作结果。这是相当危险的,因为很可能所有的操作…”的新页面)
 
 
(未显示同一用户的19个中间版本)
第2行: 第2行:
  
 
1.脏读
 
1.脏读
 +
[[文件:脏读.png|替代=|无|缩略图|600x600像素]]
  
一个事务读取到了另一个事务未提交的数据操作结果。这是相当危险的,因为很可能所有的操作都被回滚。
 
  
  
2.不可重复读(虚读)
+
2.不可重复读
 +
[[文件:不可重复读.png|无|缩略图|600x600像素]]
  
一个事务对同一行数据重复读取两次,但是却得到了不同的结果。
 
 
例如事务T1读取某一数据后,事务T2对其做了修改,当事务T1再次读该数据时得到与前一次不同的值。
 
  
  
 
3.幻读
 
3.幻读
 +
[[文件:幻读.png|无|缩略图|600x600像素]]
  
事务在操作过程中进行两次查询,第二次查询的结果包含了第一次查询中未出现的数据或者缺少了第一次查询中出现的数据,这是因为在两次查询过程中有另外一个事务插入数据造成的
 
 
 
事务的隔离级别:
 
  
1.读未提交
 
  
Read uncommitted:最低级别,以上情况均无法保证。
+
总结:
 +
[[文件:事务问题总结.png|无|缩略图|600x600像素]]
  
  
2.读已提交
 
  
Read committed:可避免脏读情况发生
+
事务隔离级别用于解决上述问题:
 +
[[文件:事务隔离级别.png|缩略图|600x600像素|替代=|无]]
  
  
3.可重复读
 
  
Repeatable read:可避免脏读、不可重复读情况的发生。不可以避免虚读。
+
设置MySQL的事务隔离级别:
 +
[[文件:设置MySQL事务隔离级别.png|缩略图|600x600像素|替代=|无]]
 +
[[文件:MySQL事务隔离级别.png|无|缩略图|600x600像素]]

2022年8月4日 (四) 09:39的最新版本

事务的并发问题:

1.脏读


2.不可重复读

不可重复读.png


3.幻读

幻读.png


总结:

事务问题总结.png


事务隔离级别用于解决上述问题:


设置MySQL的事务隔离级别:

MySQL事务隔离级别.png