Mysql锁

2013-08-08
  • 518
  • 0

Mysql的锁其实就是一种能够使得数据库并发访问共享资源,同时保证数据一致性的规则,任何一种数据库都需要有对应的锁机制,所以MySQL 也有自己的锁机制。MySQL数据库是一种插件式引擎数据库,存在多种数据存储引擎(myisam,innnodb等等),每种存储引擎能够满足各自特定应用场景,所以各存储引擎的锁机制也有很多区别.

Mysql数据库实现了表锁,比如我们熟悉的myisam用的就是表锁,表锁定是mysql各存储引擎中粒度最大锁机制。该锁机制的实现逻辑非常简单,对系统影响比较小。所以获取锁和释放锁的速度很快。表锁一次会将整个表锁定,所以可以避免困扰我们的死锁问题,但是表锁不适于高并发应用,很容易发生阻塞。所以锁颗粒度大带来最大的影响就是出现锁定资源争用的概率也会最高,致使性能大打折扣。