MySQL 之 MyISAM 和 InnoDB 区别

MySQL 索引 面试 大约 440 字

默认存储引擎

MySQL在V5.1之前默认存储引擎是MyISAM;在此之后默认存储引擎是InnoDB

MyISAM

默认表类型,它是基于传统的ISAM类型,ISAMIndexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的selectinsert语句,MyISAM比较适合。

MyISAM的索引与数据分开存储,它的索引叶子节点存储的是指针,主键索引和普通索引无太大区别。

InnoDB

支持事务安全的引擎,支持外键、行锁、事务是他的最大特点。如果有大量的updateinsert,建议使用InnoDB,特别是针对多个并发和QPS较高的情况。

InnoDB的聚集索引和每一行的数据一起存储(存储的是数据本身,不是指针),普通索引存储的是主键的值(也不是指针)。

InnoDB不宜使用较长的列作为主键,因为普通索引存储的是主键的值,会造成内存占用过大问题。

阅读 768 · 发布于 2019-04-02

————        END        ————

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批