开发者社区> 问答> 正文

Mysql的存储引擎,myisam和innodb的区别。

Mysql的存储引擎,myisam和innodb的区别。

展开
收起
珍宝珠 2019-11-18 14:44:06 918 0
1 条回答
写回答
取消 提交回答
  • MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持;
    MyISAM类型的表强调的是性能,其执行速度比InnoDB类型更快;
    InnoDB不支持FULLTEXT类型的索引;
    InnoDB中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可;
    对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引;
    DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除;
    LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用;
    MyISAM支持表锁,InnoDB支持行锁。

    MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。
    InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。

    2019-11-18 14:44:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
MySQL表和索引优化实战 立即下载
MySQL 5.7让优化更轻松 立即下载
好的 MySQL 兼容可以做到什么程度 立即下载

相关镜像