开发者社区> 问答> 正文

在MySQL中InnoDB与MyISAM的区别

在MySQL中InnoDB与MyISAM的区别

展开
收起
Carice 2021-10-16 21:17:25 422 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    您好,

    InnoDB支持事务,MyISAM不支持事务
    InnoDB支持外键,MyISAM不支持外键
    InnoDB 支持 MVCC(多版本并发控制),MyISAM 不支持
    select count(*) from table时,MyISAM更快,因为它有一个变量保存了整个表的总行数,可以直接读取,InnoDB就需要全表扫描。
    Innodb不支持全文索引,而MyISAM支持全文索引(5.7以后的InnoDB也支持全文索引)
    InnoDB支持表、行级锁,而MyISAM支持表级锁。
    InnoDB表必须有主键,而MyISAM可以没有主键
    Innodb表需要更多的内存和存储,而MyISAM可被压缩,存储空间较小,。
    Innodb按主键大小有序插入,MyISAM记录插入顺序是,按记录插入顺序保存。
    InnoDB 存储引擎提供了具有提交、回滚、崩溃恢复能力的事务安全,与 MyISAM 比 InnoDB 写的效率差一些,并且会占用更多的磁盘空间以保留数据和索引
    
    2021-10-16 21:26:11
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像