码迷,mamicode.com
首页 > 数据库 > 详细

MYSQL:事务与锁

时间:2020-07-25 09:36:40      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:索引   事务   ack   串行化   sele   原子性   rollback   date   let   

事务的特性 ACID

原子性
一致性
隔离性
持久性

通过redolog 和 doublewrite(页损坏的情况) 实现持久性

事务什么时候开启

默认自动开启,自动提交。
通过begin;命令显式开启事务;通过commit;/rollback;结束事务。

事务的隔离级别

读未提交

存在的问题:脏读、不可重复读、幻读

读已提交

存在的问题:不可重复读(update,delete)、幻读

可重复读

存在的问题:幻读(insert)

串行化

存在的问题:性能太低

MySQL解决可重复读

  • 快照读(select XXX):MVCC:增加了隐藏的两列:事务ID、回滚指针(旧版本)
  • 当前读(除了简单select 以外的sql):通过锁实现

意向锁

提高加表锁的效率

锁的到底是什么?

锁的是索引,假如是辅助索引还会锁其对应的主键。

MYSQL:事务与锁

标签:索引   事务   ack   串行化   sele   原子性   rollback   date   let   

原文地址:https://www.cnblogs.com/fcb-it/p/13375187.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!