前段时间阿粉在公司开发的时候,不慎导致了数据库产生了锁表的操作,因为阿粉之前从来没有遇到过,之前只是了解过一点,所以导致了锁表,于是阿粉为了解决问题,研究了一下这一部分的内容,于是决定把这一块的知识分享给大家。
数据库锁定机制
话说如果你只是单纯的说 "锁表",总是让人感觉有点 Low ,而我们就直接换个比较高大上一点的名词,锁定机制!
为了保证数据的完整,也就是他的一致性和有效性,所以才会让数据库出现了锁定机制,相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。
MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking)
BDB存储引擎采用的是页面锁(page-level locking),也支持表级锁
InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁
我们先来瞅瞅看一下这些锁都是个什么鬼东西!