MySQL存储引擎
Posted topass123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL存储引擎相关的知识,希望对你有一定的参考价值。
和大多数的数据库不同, mysql中有一个存储引擎的概念, 针对不同的存储需求可以选择优的存储引擎。
存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 。存储引擎是基于表的,而不是基于库的。 所以存储引擎也可被称为表类型。
MySQL的存储引擎:
MySQL的储存引擎有InnoDB ,MyISAM, MEMORY MERGE NDB.但是常用的是下面的两者。
InnoDB存储引擎是Mysql的默认存储引擎。
InnoDB存储引擎提供了具有提交、回滚、崩溃恢复能力的事务安全。
但是对比MyISAM的存储引擎,InnoDB写的处理效率差一些,并且会占用更多的磁盘空间以保留数据和索引。
InnoDB具备的优点:
事务控制,外键约束,存储方式。
MyISAM具备的优点:
MyISAM 不支持事务、也不支持外键,其优势是访问的速度快,对事务的完整性没有要求或者以SELECT、
INSERT 为主的应用基本上都可以使用这个引擎来创建表 。
存储引擎的选择
在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统,还可以根据实际情况选 择多种存储引擎进行组合。
以下是几种常用的存储引擎的使用环境。
InnoDB : 是Mysql的默认存储引擎,用于事务处理应用程序,支持外键。
如果应用对事务的完整性有比较高 的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询意外,还包含很多的更新、删除操作, 那么InnoDB存储引擎是比较合适的选择。
InnoDB存储引擎除了有效的降低由于删除和更新导致的锁定, 还 可以确保事务的完整提交和回滚,对于类似于计费系统或者财务系统等对数据准确性要求比较高的系统, InnoDB是合适的选择。
MyISAM : 如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性、并发 性要求不是很高,那么选择这个存储引擎是非常合适的。
以上是关于MySQL存储引擎的主要内容,如果未能解决你的问题,请参考以下文章