InnoDB存储引擎与MyIsam存储引擎的区别
特性比较
mysql5.5之后默认的存储引擎为InnoDB,在此之前默认存储引擎是MyIsam
特点 | MyIsam | InnoDB |
锁机制 | 表锁 | 行锁 |
事务 | 不支持 | 支持 |
外键 | 不支持 | 支持 |
B树索引 | 支持 | 支持 |
哈希索引 | 不支持 | 支持 |
全文索引 | 支持 | 不支持(5.6.4之后开始支持) |
其他区别
1)对于delete操作,InnoDB是逐行删除,MyIsam是删表重建
2)对于count()函数,MyIsam内部维护一个count变量,InnoDB需要扫描全表
3)对于自增长字段,如需要索引则必须是独立索引,MyIsam则允许多列索引
适用场景比较
MyIsam
1)适合读多写少的场景,例如新闻博客网站
2)经常用到count()函数
InnoDB
1)读多写也多的场景
2)对安全性要求高,需要支持事务
keep positive and calm,then go on