🍐多种存储引擎,以适应于不一样领域的数据库应用须要,用户能够选择不一样的存储引擎提升应用的效率,提供灵活的存储,用户甚至能够按照本身的须要定制和使用本身的存储引擎。数据库
🍐MySQL5.0支持的存储引擎包括MyISAM、InnoDB、MEMORY、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED,其中InnoDB和BDBD提供事务安全表,其余存储引擎都市非事务安全表。缓存
🍐建立新表时若是不指定存储引擎,系统会使用默认存储引擎。MySQL5.5以前的默认存储引擎是MYISAM,5.5以后改成InnoDB。(个人是8.0版,以下图)安全
🍐建立表ai(存储引擎为MYISAM),表country(存储引擎为InnoDB):并发
🍐使用ALTER TABLE语句,将一个已经存在的表修改为其余的存储引擎。下面的例子介绍了如何将表ai从MyISAM存储引擎修改到InnoDB存储引擎.性能
嗯哼,怎么肥四啊???spa
嗯哼,怎么肥四啊???好迷,暂未解决插件
🍐不支持事务,也不支持外键。对象
🍐优点访问速度快,对事务完整性没有要求,以SELECT、INSERT为主的应用基本用这个引擎来建立。blog
🍐支持三种不一样的存储格式分别是:排序
🍐InooDB存储引擎具备提交,回滚,和崩溃恢复能力的事务安全。
MEMORY类型的表访问很是地快,由于它的数据是放在内存中的,而且默认使用HASH索引,可是一旦服务关闭,表中的数据就会丢失掉。
MEMORY 类型的存储引擎主要用于那些内容变化不频繁的代码表,或者做为统计操做的中间结果表,便于高效地对中间结果进行分析并获得最终的统计结果。对存储引擎为MEMORY的表进行更新操做要谨慎,由于数据并无实际写入到磁盘中,因此必定要对下次从新启动服务后如何得到这些修改后的数据有所考虑
🎂MyISAM:默认的MySQL插件式存储引擎。若是应用是以读操做和插入操做为主,只有不多的更新和删除操做,而且对事务的完整性、并发性要求不是很高,那么选择这个存储引擎是很是适合的。MyISAM是在Web、数据仓储和其余应用环境下最常使用的存储引擎之一。
🎂InnoDB:用于事务处理应用程序,支持外键。若是应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操做除了插入和查询之外,还包括不少的更新、删除操做,那么InnoDB存储引擎应该是比较合适的选择。InnoDB存储引擎除了有效地下降因为删除和更新致使的锁定,还能够确保事务的完整提交(Commit)和回滚(Rollback),对于相似计费系统或者财务系统等对数据准确性要求比较高的系统,InnoDB都是合适的选择。
🎂MEMORY:将全部数据保存在 RAM 中,在须要快速定位记录和其余相似数据的环境下,可提供极快的访问。MEMORY 的缺陷是对表的大小有限制,太大的表没法缓存在内存中,其次是要确保表的数据能够恢复,数据库异常终止后表中的数据是能够恢复的。MEMORY表一般用于更新不太频繁的小表,用以快速获得访问结果。
🎂MERGE:用于将一系列等同的MyISAM表以逻辑方式组合在一块儿,并做为一个对象引用它们。MERGE表的优势在于能够突破对单个MyISAM表大小的限制,而且经过将不一样的表分布在多个磁盘上,能够有效地改善MERGE表的访问效率。这对于诸如数据仓储等VLDB环境十分适合。