虽然MySQL8.0.x都出来了,自己一直使用 5.7的版本,对于新的版本今天抽了些时间来了解一下新的特性。而对于新的版本的了解往往都是从版本区别开始的,今天便算是作一个笔记吧。

Oracle发布新版本的MySQL时,直接从5.7.x 跳到了 8.0,可谓是一个大的版本跳跃,当然也可以从侧面反映,这里面的功能会有不少的变化,新版本的MySQL增加了不少的亮点。

下面简要介绍 MySQL 8 中值得关注的新特性和改进:

1、性能提升级。官方表示MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在读/写工作负载、IO 密集型工作负载、以及高竞争工作负载时相比MySQL5.7有更好的性能。

(阿里云的图片 )

2、更强的NoSQL文档支持。MySQL 从 5.7 版本开始提供 NoSQL 存储功能,目前在 8.0 版本中这部分功能也得到了更大的改进。该项功能消除了对独立的 NoSQL 文档数据库的需求,而 MySQL 文档存储也为 schema-less 模式的 JSON 文档提供了多文档事务支持和完整的 ACID 合规性。

(阿里云的图片 )

3、窗口函数。也就是在满足某种条件的记录集合上执行的特殊函数。它可以用来实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而 是将结果放回多行当中。即窗口函数不需要 GROUP BY。窗口函数的使用,将大大提高相关的分析型场景的效率。

4、UTF-8编码。从MySQL8.0开始,使用utf8mb4 作来MySQL的默认字符集,并支持 Unicode 9,默认字符集将从 latin1 改为 utf8mb4,默认定序collation将从latin1_swedish_ci 改为 utf8mb4_800_ci_ai;

5、隐藏索引。可以将索引通过命令设置为 隐藏 或 显示。对于被 隐藏 的索引,它不会被查询优化器所使用,我们可以使用这一功能,对相关的查询进行性能调试,通过 隐藏 或 显示,分析数据库性能差异的原因,同时也可以去除无效的索引。

隐藏一个索引:

ALTER TABLE TABLENAME ALTER INDEX IDXNAME INVISIBLE;

恢复显示该索引

ALTER TABLE TABLENAME ALTER INDEX IDXNAME VISIBLE;

6、持久化设置。MySQL8.0 新增 SET PERSIST 的命令,该命令的配置值保存到数据目录下的mysqld-auto.cnf文件中,待重启后,读取该文件,用其中的配置覆盖缺省的配置文件,补充了SET GLOBAL 命令只能临时生效的不足;
命令的使下如:

SET PERSIST max_connections = 400;

7、重构 BLOB。重构 BLOB 加速了片段读取/更新操作,可以加速 JSON 数据的操作。大幅改进了对 JSON 的支持,添加了基于路径查询参数从 JSON 字段中抽取数据的 JSON_EXTRACT() 函数,以及用于将数据分别组合到 JSON 数组和对象中的 JSON_ARRAYAGG() 和 JSON_OBJECTAGG() 聚合函数。

8、事务性数据字典。完全脱离了 MyISAM 存储引擎,真正将数据字典放到了 InnoDB 中的一些表中,不再需要 FRM、TRG、PAR 等文件;Information Schema 现在以数据字典表的一个视图出现。也就是原则上可以不需要 MyISAM 数据表类型,系统表都可以放到 InnoDB 之中。

9、SQL 角色。可以创建角色,给用户设置或去除角色,大大方便权限的管理。

10、除去查询缓存;

其实还有很多,这里只是挑了些个人觉得比较重要的,要了解更多的信息,可以通过下面的链接看到:

http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-is-available/

最后,附上 MySQL 8.0参考手册 的链接地址:MySQL :: MySQL 8.0 Reference Manual

MySQL8.0 和 MySQL5的区别相关推荐

  1. MySQL8.0与MySQL5.7区别

    1.隐藏索引 隐藏索引的特性对于性能调试非常有用,在8.0 中,索引可以被隐藏和显示,当一个索引隐藏时,他不会被查询优化器所使用,性能调试使用: 隐藏索引 ALTER TABLE t ALTER IN ...

  2. 可能是最全面的MySQL8.0与MySQL5.7差异分析

    MySQL8.0与MySQL5.7有什么区别和坑?有必要升级MySQL8.0吗?MySQL 8.0是2018年4月20日发布的全球最受欢迎的开源数据库的一个非常令人兴奋的新版本,一些关键的增强包括:S ...

  3. CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin,mysql8.0.1/mysql5.7.22+centos7,windows mysql安装、配置...

    介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&am ...

  4. MySQL8.0与MySQL5.7 OLTP 性能测试对比

    MySQL8.0出来已经有很长时间了,目前最新版本是MySQL8.0.20 ,那么MySQL8.0到底比MySQL5.7 性能有多大的提升呢,今天就做了一组压力测试来实际测试一下.为了使结果更具有说服 ...

  5. 【卸载MySQL8.0重装MySQL5.7】安装过程百般花式错误+手动删除残余服务+修改数据库默认密码

    我遇到一个超级棘手的难题,由于一个旧web项目需要用到c3p0的数据库操作库,由于本人jdk是1.7版本,mySQL是8.0版本,同时mySQL8.0支持5.x的驱动,在一般的MVC操作并无问题.但是 ...

  6. 数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)

    数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步骤2022) 文章目录 数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步 ...

  7. Mysql8.0和Mysql5.0访问jdbc连接

    MySQL8.0 访问: jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/springmvc?use ...

  8. php使用mysql5和8的区别_mysql8.0和mysql5.7的区别是什么?

    区别:mysql8.0的索引可以被隐藏和显示,当一个索引隐藏时,他不会被查询优化器所使用:2.mysql8.0新增了"SET PERSIST"命令:3.从mysql8.0开始,数据 ...

  9. Mysql8.0新特性之详细版本

    1. 账户与安全 用户创建与授权 之前:创建用户并授权 1 grant all privileges on *.* to 'myuser'@'%' identified by '3edc #EDC'; ...

最新文章

  1. Promise 的使用
  2. 人工智能的概念和知识构架_概念验证:玩! 构架
  3. webpack快速入门教程
  4. java tts引擎_Android TTS系列二——如何开发一款系统级tts引擎?
  5. JetBrains发布Toolbox 采用新的订阅模式
  6. 生长区域算法的php实现
  7. Adobe Photoshop源代码以及3800万用户信息泄漏
  8. 如何知道对象在Python中是否具有属性
  9. Java新职篇:面向对象编程的3个原则是什么?
  10. 一步一步解决“不能上网”
  11. linux fcitx-rime导入搜狗词库
  12. WebStorm自定义主题/护眼主题
  13. matlab 一阶惯性环节,一阶惯性环节
  14. destoon php版本,Destoon 7.0最新版常见问题解决方法
  15. 让人头疼的“双十一”
  16. 面试题——登录、支付功能测试点总结
  17. uva 571 - Jugs
  18. 计网复习——第三章 数据链路层
  19. 高清壁纸免费下载网站
  20. LPDDR4硬件详解

热门文章

  1. oracle 安装 status -2,Oracle 12.2 OJVM安装
  2. 使用 Audacity 录制声卡声音
  3. Java+Servlet+JSP+Mysql+Tomcat实现Web学生选课管理系统
  4. Python实现简单的勒索病毒
  5. 基于html+css的图展示91
  6. 5-15~5-17 七牛工作总结:足球爬虫
  7. Microsoft Store打不开, 解决方法
  8. centos 防火墙关闭/开启
  9. 鹤山市计算机速成班学校,鹤山市职业技术学校官网
  10. Win系统 - Windows10 玩游戏卡?试试这招