MyISAM与InnoDB的区别?

  • InnoDB 支持事务;MyISAM 不支持事务
  • InnoDB 支持行级锁;MyISAM 支持表级锁
  • InnoDB 支持 MVCC(多版本并发控制);MyISAM 不支持
  • InnoDB 支持外键,MyISAM 不支持
  • InnoDB 不支持全文索引;MyISAM 支持
  • InnoDB 不保存表的总行数,执行 select count(*) from table 时
    需要全表扫描;MyISAM 用一个变量保存表的总行数,查总行数速度很快
  • InnoDB 是聚集索引,数据文件是和索引绑在一起的,必须要有主键,
    通过主键索引效率很高。辅助索引需要两次查询,先查询到主键,再通过主键查询到数据。主键太大,其他索引也会很大;MyISAM 是非聚集索引,数据文件是分离的,索引保存的是数据文件的指针,主键索引和辅助索引是独立的

【Java面试题与答案】整理推荐

发布了407 篇原创文章 · 获赞 1442 · 访问量 151万+

猜你喜欢

转载自blog.csdn.net/meism5/article/details/104192277