对于MySQL的历史,相信很多人早已耳熟能详,这里就不要赘述。下面仅从产品特性的角度梳理其发展过程中的里程碑事件。
1995年,MySQL 1.0发布,仅供内部使用。
1996年,MySQL 3.11.1发布,直接跳过了MySQL 2.x版本。
1999年,MySQL AB公司成立。同年,发布MySQL 3.23,该版本集成了Berkeley DB存储引擎。该引擎由Sleepycat公司开发,支持事务。在集成该引擎的过程中,对源码进行了改造,为后续可插拔式存储引擎架构奠定了基础。
2000年,ISAM升级为MyISAM存储引擎。同年,MySQL基于GPL协议开放源码。
2002年,MySQL 4.0发布,集成了后来大名鼎鼎的InnoDB存储引擎。该引擎由Innobase公司开发,支持事务,支持行级锁,适用于OLTP等高并发场景。
2005年,MySQL 5.0发布,开始支持游标,存储过程,触发器,视图,XA事务等特性。同年,Oracle收购Innobase公司。
2008年,Sun以10亿美金收购MySQL AB。同年,发布MySQL 5.1,其开始支持定时器(Event scheduler),分区,基于行的复制等特性。
2009年,Oracle以74亿美金收购Sun公司。
2010年, MySQL 5.5 发布,其包括如下重要特性及更新。
2013年, MySQL 5.6 发布,其包括如下重要特性及更新。
可以说,MySQL 5.6是MySQL历史上一个里程碑式的版本,这也是目前生产上应用得最广泛的版本。
2015年, MySQL 5.7 发布,其包括如下重要特性及更新。
2018年, MySQL 8.0 发布,其包括如下重要特性及更新。
需要注意的是,上面提到的发布,一般指的是GA版本。
来,看看MySQL 5.6, 5.7, 8.0的新特性
https://www.cnblogs.com/ivictor/p/9807284.html
用户测试:
已经提交了一个Bug:
https://bugs.mysql.com/bug.php?id=103085&thanks=2&notify=71
不知道咋办,反正别这么用就行了,问题天天有。蛋疼。。。。
mysql5.7 测试:
mysql8.0测试:
ptr为一根指针,指向了innodb 获取后转换为mysql格式的行值,注意Field_long::store会有一个longstore(ptr,res) *** 作,每次每个字段通过Item_func_plus计算后的值将填入内存空间。因此导致如果更改值后再次获取会出现变动类似,如果要保证不变则需要拷贝一份内存出来,类型5.6
5.7 一个地址
5.6不是一个地址
1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。2. MySQL Enterprise Edition 企业版本,需付费,可以试用30天。
3. MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。
4. MySQL Cluster CGE 高级集群版,需付费。
5. MySQL Workbench(GUI TOOL)一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)