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
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。