首页 > 代码库 > mysql事务
mysql事务
我是老师的好学生,毕业了自然不能带走老师的知识,所以在面试官问到mysql事务的时候,我表现的干净利索,感觉上是知道的,但是想不起来,就是这样一个懵逼的状态。。回来补充一下。
事务是数据库执行的一系列操作。
- 事务最主要的是ACID四个特性:
- 原子性-事务要么全部执行,要么全不执行
- 一致性-一个事务的执行不应该破坏数据库的完整性约束
- 隔离性-事务之间相互隔离,互不影响,这又涉及到了四个隔离等级
- * 未提交读:还没提交你就读,那必然存在脏读 RU
- * 提交读:提交之后你再读,乖 RC
- * 可重复读:不提交你来读,提交你仍来读,这是个幻读的问题,好在mysql有间隙锁,解决了幻读的问题,但是可能会死锁,RR
- * 可串行化:事务串行执行,性能最差 S
- 持久性:事务提交后需要将提交的事务持久化到磁盘,这样及时系统崩溃,提交的事务也不会丢失
再说一个mysql的数据存储结构应该是B+树,B+树的特性就是将所有数据都在叶子节点,其他节点放的都是索引,那么为啥要用B+树呢,这就是因为树的深度比较短,搜索路径短,性能自然就优化了。
mysql事务
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。