MySQL5.6以前各版本的特性

在选择MySQL的时候,最好先了解一下各个版本的特性,下面针对MySQL5.6以前的版本做一个简单的介绍,希望能给读者带来一些帮助。

版本3.23(2001)

这个版本在业界被普遍认为是MySQL真正诞生的时刻。在3.23版本,MySQL依然只是一个在平面文件上实现了SQL查询的系统。但是在这个版本做出了一个十分重要的改进,就是引入MyISAM代替老旧的ISAM引擎。虽然此时作为新秀的InnoDB引擎已经可以使用,但是不在默认的二进制发行版中。同时该版本还引入了全文索引和复制。复制是MySQL成为互联网应用的数据库系统的关键特性。

版本4.0(2003)

4.0版本开始支持一些新的语法,如UNION和多表DELETE语法。并且重写了复制,在备库使用两个线程实现复制,避免了单一线程在所有复制工作模式下任务切换导致的问题。InnoDB成为标配,包括了行级锁、外键等全部特性。该版本还引入了查询缓存,同时支持SSL连接。

版本4.1(2005)

该版本下MySQL引入了更多新语法,如子查询、INSERT ON DUPLICATE KEY UPDATE。且开始支持UTF-8,新的二进制协议和prepared语句。

版本5.0(2006)

这个版本出现了一些“企业级”特性:视图、触发器、存储过程和存储函数。同时ISAM引擎被完全移除,并引入了Federated等引擎。

版本5.1 (2008)

Sun公司收购MySQL AB以后的首个发行版本。这个版本引入了分区、基于行的复制,以及plugin API(包含可插拔存储引擎的API)。作为MySQL最早的事务存储引擎的BerkeyDB引擎被去除。

版本5.5(2010)

Oracle收购Sun公司后发布的首个版本。该版本主要改善集中在性能、扩展、复制、分区、对Windows系统的支持等等。5.5版本中,将InnoDB作为默认的存储引擎(之前版本默认引擎为MyISAM),并对InnoDB的架构进行了较大的改进,比如多个子缓冲池。增加了PERFORMANCE_SCHEMA库,包含了一些可测量的性能指标的增强。增加了复制、认证和审计API。半同步复制插件进入实用阶段。

总结

早期的MySQL是一种破坏性的创新,有诸多限制,且很多功能只能说是二流水准。MySQL之所以快速发展为互联网行业的杀手级应用,主要还是归功于它的特性支持和较低的使用成本。在5.x版本后,MySQL开始引入企业级的特性(视图,存储过程等),期望成为企业级数据库,虽然5.x版本早期性能不算稳定,但在Oracle收购后MySQL的功能和性能方面都得到显著提升,开始向企业级应用稳步发展。

下期预告:MySQL存储引擎及其应用场景