MySQL 8.0简介
MySQL 8.0.0于2016年9月12日发布,这是一个开发里程碑版本。MySQL 8.0的前一个版本是 MySQL 5.7,官方表示MySQL 8.0的速度要比MySQL 5.7快2倍, MySQL 8.0为读/写工作负载、 I/O密集型工作负载和高竞争“热点”工作负载提供了更好的性能。更多关于MySQL 8.0的信息请参考https://dev.mysql.com/doc/relnotes/mysql/8.0/en /
MySQL 8.0的新特性
新特性/改进  | 描述  | 
默认字符集变为utf8mb4  | 移动端有大量的表情符号需要存储,默认的字符集从 latin-1 转为 utf8mb4。  | 
系统表存储引擎全部为InnoDB  | 不再采用MyISAM。  | 
DDL原子化  | 在MySQL 8.0之前,DDL操作是非原子型操作,在执行过程中遇到实例故障重启,可能导 致DDL没有完成也没有回滚。  | 
持久化系统参数  | 可以用 SET PERSIST 来设置持久性的全局变量,即便服务器重启也会保持下来。  | 
不可见索引  | 可以将一些索引设置为不可见,这样 SQL 优化器就不会用到它,但是它会继续在后台保持 更新。当有需要时,可以随时恢复可见。 不可见的索引可以测试删除索引对查询性能的影响,而无需进行破坏性的更改。  | 
全新的身份认证方式  | 身份认证方式由以前的mysql_native_password改为caching_sha2_password。  | 
通用表表达式  | 通用表表达式(CTE)是一个在语句级别定义的临时结果集。定义之后,可以在当前语句中 多次引用该 CTE。CTE有两种用法,非递归的CTE和递归的CTE。  | 
窗口函数  | 类似于聚合函数,可降低代码复杂性并帮助开发人员提高工作效率。  | 
JSON扩展  | 从版本5.7.8开始,MySQL开始支持JSON数据类型。 MySQL8.0新增了JSON_TABLE()函数,可以将JSON数据转换成表。  | 
GIS增强  | GIS得到了增强,可支持地理和空间参考系统(SRS)。  | 
文档存储  | 可以使用同一种解决方案处理 SQL 和 NoSQL,也可以将两种的优势结合起来。  | 
                










