show engines;
引擎说明及区别
ISAM:读取数据速度很快,而且不占用大量的内存和存储资源;但是ISAM不支持事务处理、不支持外来键、不能够容错、也不支持索引。
如果硬盘崩溃,数据文件也无法恢复,因此若把ISAM用在关键任务上,就必须经常备份实时数据。
MyISAM适合:MyISAM强调了快速读取操作。(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。
静态MyISAM:如果数据库中的各个数据列的长度都是预先固定好的,服务器将自动选择这种表类型。(1)表中每一条记录所占用的空间都是一样的,所以存取和更新的效率非常高。(2)当数据受损时,回复工作也比较容易做。
动态MyISAM:如果数据表中出现varchar、xxxtex或xxxBLOB字段时,服务器将自动选择这种表类型。相对于静态MyISAM,这种表存储空间比较小。
压缩MyISAM:这种类型的表进一步减小了占用的存储,但是这种表压缩之后不能再被修改。
memory(heap)适合:HEAP允许只驻留在内存里的临时表格。因为数据仅存储在内存中,因此数据存取速度比ISAM和MYISAM都快。(记住,用完表格之后就删除表格)
InnoDB适合:具有提交、回滚和崩溃恢复能力的失误安全存储引擎。(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。
InnoDB是为处理巨大数据量时的最大性能设计。它的CPU效率可能是任何其他基于磁盘的关系数据库引擎所不能匹敌的。
archive适合:日志记录和聚合分析方面。archive不支持索引,仅支持insert和select语句。