mysql事务

事务

事务是在数据库系统中保证一组操作要么全部成功,要么全部失败的机制,,确保数据在并发访问和潜在故障下的正确性和可靠性

事务四大特性
  • 原子性:atomicity : 事务操作是一个整体,要么全部成功,要么全部失败,不存在中间状态
  • 一致性 : consistency : 事务执行前后,数据库必须从一个合法性状态转变成另一个合法性状态,强调结果永远合法,符合规则
  • 隔离性: 多个并发事务之间互不干扰
  • 持久性: 一旦事务提交,结果永久保存
事务引发的问题
  • 脏读 : 事务A读到了事务B未提交的修改数据,如果事务B回滚,那么A读到的数据就是脏数据
  • 不可重复读 : 在同一个事务A内,两次读取同一行数据,结果不一致(因为在此期间事务B修改并提交了数据)
  • 幻读 : 在同一个事务中,两次执行相同范围的查询,返回的记录数不一样(因为在此期间,事务B插入或者删除符合这个查询条件的数据并提交了)
事务的隔离级别
  • 读未提交 : 一个事务能读取到其他事务尚未提交的数据,,会脏读,不可重复读,幻读
  • 读已提交: 一个事务只能读取到其他事务已经提交的数据,, 会不可重复读,幻读
  • 可重复读: 一个事务执行期间,他看到的数据在事务开始时就被确定,不会受其他事务的影响,,,会幻读
  • 串行化 : 让并发事务的执行结果,串行的一个接一个的执行 ,, 避免脏读,不可重复读,幻读

mysql的隔离级别是可重复读

相关推荐
weixin_424999361 分钟前
如何正确实现“破纪录次数统计”算法(高低分突破计数)
jvm·数据库·python
weixin_586061461 分钟前
mysqlSQL执行后连接未断开耗尽资源_优化代码中的连接释放机制
jvm·数据库·python
Wyz201210242 分钟前
Golang interface底层实现原理_Golang接口原理教程【核心】
jvm·数据库·python
qq_372154232 分钟前
宝塔面板如何快速找回前一天误删的极其重要的网站源码
jvm·数据库·python
Shorasul3 分钟前
Vue3 监听器 watch 怎么监听 Pinia 中的状态?跨模块联动开发教程
jvm·数据库·python
m0_734949793 分钟前
JavaScript 中的 setTimeout 是否依赖系统时钟?
jvm·数据库·python
2301_817672264 分钟前
Python Selenium怎么定位元素_By.XPATH与By.CSS_SELECTOR操作DOM节点
jvm·数据库·python
2501_914245935 分钟前
JavaScript中闭包结合代理模式Proxy实现数据监听
jvm·数据库·python
1368木林森6 分钟前
聊聊Mysql主从延迟的幽灵陷阱与解决方案
数据库·mysql
m0_493934537 分钟前
WordPress 动态变量短代码:基于用户输入自动匹配预设值的高效实现
jvm·数据库·python