码迷,mamicode.com
首页 > 其他好文 > 详细

锁模块

时间:2020-01-26 20:52:40      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:alt   mys   repeat   strong   不可重复读   丢失   comm   nsa   isolation   

锁模块的常见问题

1、MyISAM和InnoDB关于锁方面的区别是什么?

2、数据库事务的四大特性?

3、事务隔离级别以及各级别下的并发访问问题?

4、InnoDB可重复读隔离级别下如何避免幻读?

5、RC、RR级别下的InnoDB的非阻塞读如何实现?

 

1、MyISAM和InnoDB关于锁方面的区别是什么?

MyISAM默认用的是表级锁,不支持行级锁

InnoDB默认用的是行级锁,也支持表级锁

 

2、数据库事务的四大特性?

ACID

原子性(Atomic)

一致性(Consistency)

隔离性(Isolation)

持久性(Durability)

 

3、事务隔离级别以及各级别下的并发访问问题?

事务并发访问引起的问题以及如何避免

1) 更新丢失----mysql所有事务隔离级别在数据库层面上均可避免

如下图,对同一个账号进行操作

技术图片

 

 2) 脏读----READ-COMMITED 事务隔离级别以上可避免

 查询事务的隔离级别

SELECT @@tx_isolation;

技术图片

 

 

设置事务的隔离级别

SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

技术图片

 

 3) 不可重复读----REPEATABLE-READ 事务隔离级别以上可避免

4)幻读----SERIALIZABLE 事务隔离级别可避免

技术图片

 

4、InnoDB可重复读隔离级别下如何避免幻读?

表象: 快照读(非阻塞读) -- 伪MVCC

内在:next-key锁(行锁+ gap锁)

 

当前读和快照读

当前读: select... lock in share mode, select ... for update

     update, delete, insert

快照读:不加锁的非阻塞读, select

 

5、RC、RR级别下的InnoDB的非阻塞读如何实现?

 

锁模块

标签:alt   mys   repeat   strong   不可重复读   丢失   comm   nsa   isolation   

原文地址:https://www.cnblogs.com/linlf03/p/12234283.html

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