1. 了解一下Mysql的各种引擎以及优劣
引擎 | 介绍 | 优 | 劣 | 适用 |
---|---|---|---|---|
ISAM | ISAM是一个定义明确且历经时间考验的数据表格管理方法 | ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源 | 不支持事务处理,也不能够容错 | |
MYISAM | MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎 | 提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作 | 1.需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间2.不能在表损坏后恢复数据 | 做很多count 的计算;2. 插入不频繁,查询非常频繁;3.没有事务 |
HEAP | HEAP允许只驻留在内存里的临时表格 | 驻留在内存里让HEAP要比ISAM和MYISAM都快 | 所管理的数据是不稳定的 | |
InnoDB | InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎 | InnoDB是为处理巨大数据量时的最大性能设计,它的CPU效率可能是任何其它基于磁盘的关系数据库引擎所不能匹敌的。2. InnoDB存储引擎被完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池 | 1.可靠性要求比较高,或者要求事务;2.表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。 |