집 >데이터 베이스 >MySQL 튜토리얼 >MySQL存储引擎InnoDB、MyISAM 、其它存储引擎介绍_MySQL
MySQL的不断更新与变化,其实最重要的就是存储引擎的变化和升级,也衍生了很多不同的存储引擎。我们在建立MySQl数据库(也可以成为schema)时基本也会忽略存储引擎的选择,因为一般情况下我们都直接使用的默认存储引擎。
在MySQL 5.1及之前的版本-MyISAM是默认的存储引擎
在MySQL 5.5及以后的版本-InnoDB是默认的存储引擎
MyISAM和InnoDB应该属是MySQL最常用的两种存储引擎。从发展史来说InnoDB比MyISAM出现得更晚,功能也就更强大,但它不能完全代替MyISAM正是它功能的强大影响了它的性能。有人在追求性能,依然选择MyISAM,当然就放弃的InnoDB的特有功能。
InnoDB是如今MySQL的默认事务型引擎,也是最重要、使用最广泛的存储引擎。它被设计用来处理大量
的短期事务。Oracle也投入了大量的资源来修改InnoDB,也得到很好的提高,相信后期的版本中InnoDB将近一步的改善。“InnoDB事务模型和锁”也就是最大的特点,当然InnoDB的行为时很复杂的。
(事务处理:类似于在插入两张表是,第一张成功,第二张失败。就会实现“回滚”,删除第一张成功插入的数据)MyISAM作为最早的存储引擎之一,经过多年的发展,可以满足用户的实际需求。MyISAM引擎的简单设计,数据以紧密格式存储,所以在大量的情况下性能很好。
Archive引擎、Blackhole引擎、CSV引擎、Memory引擎、Merige引擎、NDB集群引擎,当然每个存储引擎都有它的特有特点,不然也不会生存到现在。
XtraDB存储引擎、TokuDB存储引擎、Aria存储引擎(Maria改名)、Groonga存储引擎、SphinxSE引擎。上面也只是列举的一下常见的存储引擎,选择存储引擎首先需要了解引用的基本要求,不如InnoDB和MyISAM,如果逻辑复杂当然InnoDB是一个最好的选择,如果是一个凸显性能当让MyISAM要好一些。当让说实话在选择存储引擎与数据库版本时都会带有个人情感,比如我就选择的是Aria存储引擎来开发的一个
医药吧网站(www.yi18.net),其目的是代替MyISAM。这里就带有个人情感“支持MySQL分支与社区”,当让听说Aria比MyISAM性能更好,其实也可以用 XtraDB来代替InnoDB。这些选择都是带有感情色彩。
原文地址:http://blog.yi18.net/articles/2014/05/05/1399270094003.html