锁大家应该都知道,不多BB,直接开讲
为什么需要锁:
?
到淘宝上买东西,库存只剩一件的时候,两个人同时买,到底如何解决谁买到的的问题?...在数据库中数据也是一种供许多用户共享的资源,如何保证数据并发访问的一致性,有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素;
锁对数据库而言显得尤其重要,也更加复杂...Mysql中的锁
Mysql的锁机制比较简单
其最显著的特点是不同的存储引擎支持不同的锁机制
比如:
MyISAM和Memory存储引擎采用的是表级锁(table-level locking)
...InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但是默认情况下采用的是行级锁
表级锁:开销小,加锁快;不会出现死锁,锁定粒度大,发生锁冲突的概率最高,并发度最低....行级锁:开销大,加锁慢,会出现死锁,锁定粒度最小,发生锁冲突的概率最低,并发度也最高.
页面锁:开销和加锁时间介于表锁和行锁之间,会出现死锁,锁定粒度也介于表锁和行锁之间,并发度一般.