版本3.23(2001)

版本4.0(2003)

版本4.1(2005)

版本5.0(2006)

版本5.1(2008)

版本5.5(2010)

  1. 性能提升
  2. 默认InnoDB plugin引擎。具有提交、回滚和crash恢复功能、ACID兼容。
  3. 行级锁(一致性的非锁定读 MVCC)。
  4. 表与索引存储在表空间、表大小无限制。
  5. 支持dynamic(primary key缓存内存 避免主键查询引起的IO )与compressed(支持数据及索引压缩)行格式。
  6. InnoDB plugin文件格式Barracuda、支持表压缩、节约存储、提供内存命中率、truncate table速度更快。
  7. InnoDB只有一个UndoSegment,最多支持1023的并发;现在有128Segments,支持128K个并发(同样,解决高并发带来的事务回滚)。
  8. Innodb_thread_concurrency默认为0,线程并发数无限制,可根据具体应用设置最佳值。
  9. Innodb_io_capacity可以动态调整刷新脏页的数量,改善大批量更新时刷新脏页跟不上导致的性能下降问题。Default200,跟硬盘的IOPS有关。
  10. 充分利用CPU多核处理能力innodb_read_io_threads阈值:1-64innodb_write_io_threads 阈值:1-64根据数据库的读写比灵活设置,充分发挥多CPU、高性能存储设备的性能,不支持动态加载
  11. 自适应刷新脏页
  12. 热数据存活更久
  13. buffer pool多实例 innodb_buffer_pool_instances 参数增加innodb_buffer_pool实例个数,大大降低buffer poolmutex争抢过热情况。
  14. Linux上实现异步IO
  15. 重新支持组提交

版本5.6(2012)

  1. 默认参数的改变
  2. Back_log 排队队列
  3. 支持全文索引
  4. 支持online DDL create,alter,drop
  5. 可以在建表时指定表空间位置
  6. create table external (x int unsigned not null primary key)data directory = ‘/volumes/external1/data’;
  7. 新增参数innodb_page_size可以设置page大小
  8. 整合了memcached API,可以使用API来直接访问innodb表,并非SQL(减少SQL解析、查询优化代价)
  9. innodb只读事务,不需要设置TRX_ID字段,
  10. 减少内部数据结构开销,减少read view
  11. 仅仅非只读事务依然需要TRX_ID

版本5.7(2015年)

版本8.0(2017年02)

MySQL是一种流行的关系型数据库管理系统(RDBMS)。以下是MySQL的版本历史:

MySQL 1.0(1995年):最初的MySQL版本。

MySQL 3.23(2001年):MySQL的第一个稳定版本,引入了多表查询功能和支持BLOB和TEXT数据类型。

MySQL 4.0(2003年):引入了存储过程、触发器和视图等高级功能,以及InnoDB存储引擎。

MySQL 5.0(2005年):引入了新的存储引擎(如MyISAM、Memory、CSV和Archive)以及完整的支持ACID事务。

MySQL 5.1(2008年):引入了新的复制方式和Partitioning(分区)功能,同时支持更多的存储引擎。

MySQL 5.5(2010年):引入了Semi-Synchronous Replication(半同步复制)和New InnoDB I/O Architecture(新InnoDB I/O结构),从MySQL 5.5开始,InnoDB成为默认引擎,旨在支持事务、行级锁和外键等现代数据库需求。。

MySQL 5.6(2013年):引入了更多的性能和可扩展性改进,包括支持更大的表和索引、更好的查询优化器和更快的InnoDB存储引擎。

MySQL 5.7(2015年):引入了JSON数据类型、更好的复制和安全性功能以及性能改进。

MySQL 8.0(2018年):引入了许多新功能,包括窗口函数、公共表表达式、NOISE识别和MySQL Shell等。

以上是MySQL的一些主要版本,MySQL还有许多次要版本,包括修复bug、改进性能和增加新功能。