转载请标明出处:
原文首发于: http://www.zhangruibin.com
本文出自 RebornChang的博客
厚颜打广告,博主个人博客地址传送门 ,欢迎来访
抛开数据库引擎说数据库锁机制的都是流氓…
引言:MySQL数据库的引擎分为三种,MyISAM(ISAM)、InnoDB以及MEMORY,具体的引擎类型性能比较可以baidu到,这里就不多说了,本文中所说的锁机制基于InnoDB引擎,那为啥说基于InnoDB引擎说锁呢?因为InnoDB支持事务,支持行锁和表锁用的比较多,Myisam不支持事务,只支持表锁。InnoDB 与 MyISAM 的最大不同有两点:一是 InnoDB 支持事务;二是 InnoDB 采用了行级锁。也就是你需要修改哪行,就可以只锁定哪行。
Mysql 在5.5之前默认使用 MyISAM 存储引擎,之后使用 InnoDB 。查看当前存储引擎:show variables like ‘%storage_engine%’;
在说锁之前,要对数据库事物有一定的了解,那么什么是事物?
事务是一条或多条数据库操作语句的组合,具备ACID,4个特点。