mysql中的innodb与myisam区别

常用MySQL存储引擎介绍:

InnoDB引擎:

将数据存储在表空间中,表空间由一系列的数据文件组成,由InnoDb管理

支持每个表的数据和索引存放在单独文件中(innodb_file_per_table);

支持事务,采用MVCC来控制并发,并实现标准的4个事务隔离级别,支持外键。

索引基于聚簇索引建立,对主键查询有较高性能。

数据文件的平台无关性,支持数据在不同的架构平台移植

能够通过一些工具支持真正的热备,如XtraBackup等;

内部进行自身优化如采取可预测性预读,能够自动在内存中创建bash索引等

MyISAM引擎:

MySQL5.1默认,不支持事务和行级锁

提供大量的特性如全文索引、空间函数、压缩、延迟更新等

数据库故障后,安全恢复性

对于只读数据可以忍受故障恢复,MyISAM依然非常适用

日志服务器的场景也比较适用,只需插入和数据读取操作

不支持单表一个文件,会将所有的数据和索引内容分别存放在两个文件中

MyISAM对整张表加锁而不是对行,所以不适用写操作比较多的场景

支持索引缓存不支持数据缓存



作者:笨尛孩你谁啊
链接:https://www.jianshu.com/p/b93d4536de88
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
posted @ 2019-07-30 18:34  李罡  Views(87)  Comments(0Edit  收藏  举报