查询mysql的引擎
SHOW engines
可以看到InnoDB有主键有事物,行锁,目前的版本还支持分布式事物。
期中的XA表示分布式事物,innodb使用两阶段提交协议(2pc)来实现分布式事物。
ISAM 无外键,读取速度快,占内存和存储小,不支持事物,不容错。
MyISAM 无外键,无事物,表锁,比IS AM多了索引和字段管理,快速读取,适合WEB,唯一缺点是表损坏后不能恢复。
InnoDB 有外键有事物,支持行锁和表锁,具备提交、回滚、崩溃恢复的事物安全(ACID兼容),适用于查询和更新频繁,表锁定经常的情况。
Innodb带主键的表,插入删除的时候是行锁,myIsam是表锁。创建表的时候声明了innodb,并设置了primary key,那么数据库在写id==xxx的数据的时候,只有读id=xxx的操作需要等待,读id=nnn可以正常读,
如果用myisam,写某一行的时候,对整张表任意一行的操作都需要等待。
注:大数据用innodb
日志用myIsam