本文主要演示如何通过golang(go语言)对mysql进行增删改查curd

一、MySQL各版本区别说明

1. mysql5.7

2015年发布,mysql5.7查询性能得以大幅提升,比 MySQL 5.6 提升 1 倍降低了建立数据库连接的时间。

2. mysql5.6

2013年2月发布,mysql5.6版本其中InnoDB可以限制大量表打开的时候内存占用过多的问题InnoDB性能加强。如大内存优化等InnoDB死锁信息可以记录到 error 日志,方便分析InnoDB提供全文索引能力。

3. mysql5.5

2010年12月发布mysql5.5版本默认存储引擎更改为InnoDB 多个回滚段(Multiple Rollback Segments),之前的innodb版本最大能处理1023个并发处理操作,现在mysql5.5可以处理高达128K的并发事物 改善事务处理中的元数据锁定。例如,事物中一个语句需要锁一个表,会在事物结束时释放这个表,而不是像以前在语句结束时释放表。 增加了INFORMATION_SCHEMA[ˈski:mə]]表,新的表提供了与InnoDB压缩和事务处理锁定有关的具体信息。

4. mysql5.1

20o8年发布的MySQL 5.1 的版本,基本上就是一个增加了崩溃恢复功能的MyISAM,使用表级锁,但可以做到读写不冲突,即在进行任何类型的更新操作的同时都可以进行读操作,但多个写操作不能并发。

5. mysql-5.0

mysql-5.0版本之前,myisam默认支持的表大小为4G。从mysql-5.0以后,myisam默认支持256T的表单数据。myisam只缓存索引数据。 2005年的5.0版本又添加了存储过程、服务端游标、触发器、查询优化以及分布式事务功能。

6. mysql-4.1

2002年发布的4.0 Beta版,至此MySQL终于蜕变成一个成熟的关系型数据库系统。 2002年mysql4.1版本增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,MySQL.user表采用了更好的加密算法。支持每个innodb引擎的表单独放到一个表空间里。innodb通过使用MVCC(多版本并发控制)来获取高并发性,并且实现sql标准的4种隔离级别,同时使用一种被称成next-key locking的策略来避免幻读(phantom)现象。除此之外innodb引擎还提供了插入缓存(insert buffer)、二次写(double write)、自适应哈西索引(adaptive hash index)、预读(read ahead)等高性能技术。

二、mysql版本选择最终建议的几点考量

1. 最重要的一点是稳定版

选择开源的社区版的稳定版GA版本,并且选择mysql数据库GA版本发布后至少在6个月以上的GA版本。

2. 要选择前后至少半年到1年内没有大的BUG修复的版本

比如我们的Mysql5.7.x就是在2015年发布的,直接2018年才发布8.0版本,时间相对较久,主要还是版本的稳定性以及他经受的我们实际业务的时间考验

3. 版本是否兼容

我们还要考虑开发人员在开发程序选择的版本是否兼容你选的版本,目前市面较多的mysql一直在使用5.x的版本,同时我的几位DBA同事,他们是真正的DBA 高手,也一致推荐选择5.x GA的版本来教学。
所以我们选择mysql5.7来教学 mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz ,当然了8.0版本的安装与5.7的版本类似,当然关于8.0版本有什么改进,大家直接google或百度吧。

三、软件版本变化图及说明

软件版本变化图

1. GA

General Availability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。

2. RELEASE

正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。

3. Stable

稳定版,开源软件有的会用stable来表示正式发布的版本。比如Nginx。

4. Final

最终版,也是正式发布版的一种表示方法。比如Hibernate。

5. RC

Release Candidate,发行候选版本,基本不再加入新的功能,主要修复bug。是最终发布成正式版的前一个版本,将bug修改完就可以发布成正式版了。

6. alpha

α是希腊字母的第一个,表示最早的版本,内部测试版,一般不向外部发布,bug会比较多,功能也不全,一般只有测试人员使用。

7. Beta

β是希腊字母的第二个,公开测试版,比alpha版本晚些,主要会有“粉丝用户”测试使用,该版本仍然存在很多bug,但比alpha版本稳定一些。这个阶段版本还会不断增加新功能。分为Beta1、Beta2等,直到逐渐稳定下来进入RC版本。

作者: 全栈编程


文章作者: luboke.com@gmail.com
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 luboke.com@gmail.com !
  目录