MySQL常见的存储引擎的区别总结

  存储引擎就是针对于底层数据文件的存储方式。MySQL数据库是一种插件式存储引擎的数据库。MySQL中可以使用show engines;查看自带的存储引擎。

MyISAM

  支持全文索引,不支持外键,不支持事务,表锁,B树(B+树)索引(数据和索引是分离开的,非聚集索引,保证了数据可以随机或离散的分布)。

InnoDB

  不支持全文索引,支持外键,B树(B+树)索引(索引是数据的一部分,聚集索引,数据存储在索引上),行锁,支持事务。

MEMORY

  数据在内存中存储,一般用于临时表能提升效率,varchar类型当作char类型处理,不支持text、BLOB类型(应避免使用,若表中字段类型为text,则把该字段类型交给MyISAM(数据在磁盘上)处理),支持哈希索引和B+树索引,但默认是哈希索引。

Archive

  归档/压缩存储引擎。默认以1:10的比例压缩,只支持insert/select操作,不支持update/delete操作,适合数据量大、查询少的数据(日志数据),因为每次查询都需要解压缩从而影响效率。

你可能感兴趣的:(MySQL)