福哥答案2021-01-26:

2020-01-26:mysql8.0做了什么改进?
帐户管理增加了对角色的支持。
支持原子数据定义语句(atomic DDL)。
支持utf8mb4字符集。
InnoDB默认情况下在服务器启动时启用二进制日志。

MySQL 8.0的十大新特性
今天,让我们看一下MySQL8.0提升数据库管理员工作效率的十大改进。
从一大堆特性你们找出十点并不太容易,以下是这十大特性:
1.临时表的改进
2.持续的全局变量
3.取消默认MyISAM系统表
4.UNDO空间回收
5.UTF8性能改进
6.取消Query Cache
7.原子DDL
8.更快、性能更好的Schema和Information Schema
9.角色管理
10.加密表空间中的REDO日志和UNDO日志都将被加密

1.临时表的改进
在MySQL5.7中,所有的临时表都被创建在一个叫“ibtmp1”的表空间中。另外,临时表的元数据也将存储在内存中(不再存储在frm文件中)。
在MySQL8.0中,使用临时表存储引擎作为临时表(为优化JOIN、UNION等操作而创建的)存储的默认引擎,从而替换掉了原有的内存存储引擎。
新的引擎使得VARCHAR和VARBINARY列的存储更为高效(所有存储空间得到完全分配)。

2.持续的全局变量
MySQL8.0现在可以设置变量并使其改变持续到服务器重新启动。
使用此语法结合新的RESTART命令,可以非常容易的从shell中配置MySQL。这对云计算用户是一个十分友好的功能。

3.取消默认MyISAM系统表
由于采用了新的本地数据字典,现在我们不在需要MyISAM系统表了!
这些表和数据字典表现在都在一个名为mysql.idb的InNoDB表空间文件中。
这意味着如果你没有明确使用MyISAM表(为了你的数据,我们并不建议这样做),你可以创建一个没有任何MyISAM表的MySQL实例。

4.UNDO空间回收
在MySQL5.7中,我们已经可以截断UNDO空间了(设置innodb_undo_log_truncate,默认情况下禁用)。
在MySQL8中,我们改进了磁盘格式来使得每个UNDO表有大量的UNDO段。
此外,现在默认为两个单独的UNDO表空间(而非InnoDB系统表空间(最小为2,大小动态变化))中创建UNDO段。
我们不推荐使用innodb_undo_tablespaces来设置该值,因为我们将提供SQL命令让数据库管理员与UNDO表空间进行交互。
自动截断UNDO表空间默认启用。

5.UTF8性能改进
UTF8性能
由于默认的字符集已经从latin1改为utf8mb4,因此现在UTF8的速度要快得多,在特定查询时速度提高了1800%! Emojis现在无处不在,MySQL当然是选择支持他啦!??

6.取消Query Cache
我在性能审计中建议的第一件事就是禁用Query Cache,因为它给设计带来了很多麻烦。
MySQL QC造成的问题比它解决问题要多的多。因此我们决定在MySQL 8.0中取消它,因为大家就不应该使用它。
如果您的工作负载需要Query Cache,那么您应该改用ProxySQL替代Query Cache。

7.原子DDL
由于采用了新的数据字典,MySQL 8.0现在支持原子数据定义语句(原子DDL)。
这意味着当执行DDL时,数据字典更新,存储引擎操作以及二进制日志中的写入操作会合并到单个原子事务中,该事务要么完全执行,要么根本不执行。
这提高了DDL的稳定性保证未完成的DDL不会留下任何不完整的数据。

8.更快、性能更好的Schema和Information Schema
我们对Schema进行了许多改进,如假索引和直方图。
得益于假索引的存在,像SELECT * FROM sys.session这样的查询速度提高了30倍。
查询尽可能避免进行表扫描,并且索引的使用可大大缩短执行时间。
除此之外,Performance Schema还提供语句延迟的直方图。 新的直方图也使得优化器更为高效。
新的数据字典也使得Information Schema得到了改进,现在不需要大量的.frm表结构定义文件。
另外Information Schema现在支持扩展到超过1,000,000张表啦!

9.角色管理
MySQL 8.0中添加了SQL角色功能。 角色是指定的拥有特定权限的集合。 像用户帐户一样,角色可以拥有授予和撤消的权限。
角色可以默认或采用session修改。 也可强制设置角色。

10.加密表空间中的REDO日志和UNDO日志都将被加密
在MySQL 5.7中,可以为存储在每个表中的表加密InnoDB表空间。 在MySQL 8.0中,我们通过为UNDO和REDO日志添加加密来完成此功能。
除此以外,还有很多改进我没有列完。 还有很多其他不错的功能。 我想在下面再列出一些我认为重要的(尽管所有的改进都很重要??)

1.持久自动增量。
2.InnoDB的自校正。
3.JSON性能优化。
3.隐形索引。
4.新的备份锁。
5.资源组功能。
6.额外的二进制日志元数据。
7.以及OpenSSL for Community Edition。


评论

2021-01-26:mysql8.0做了什么改进?的更多相关文章

  1. Centos7安装MySQL8.0

    请到这个地址看:https://www.cnblogs.com/kevingrace/p/10482469.html Centos7安装MySQL8.0 - 操作手册 一.yum安装方式: 卸载之前版 ...

  2. 绿色版MySQL8.0.26安装流程

    下载  5.7 8.0 官网 https://dev.mysql.com/downloads/mysql/ 国内镜像网站 https://developer.aliyun.com/mirror/ ​  ...

  3. 01. MySQL8.0 MAC-OS-X安装

    目录 MySQL8.0 MAC-OS-X安装 8.0较与5.7变化 下载 安装 启动 登录查看数据库 安装后mysql文件分布 MySQL8.0 MAC-OS-X安装 换mac啦,搭建开发环境,安装m ...

  4. MySQL8.0.26安装与卸载

    一.安装 1.官网下载 百度进入官网,学习用社区版够了,我下的是压缩版点这直达下载页 据说8.X版本性能优化,比5.7版本快2倍! 接着,不登录直接下载 2.创建配置 下载完后,建议解压到一个没有中文 ...

  5. 【Linux】【MySQL】CentOS7安装最新版MySQL8.0.13(最新版MySQL从安装到运行)

    1.前言 框框博客在线报时:2018-11-07 19:31:06 当前MySQL最新版本:8.0.13 (听说比5.7快2倍) 官方之前表示:MySQL 8.0 正式版 8.0.11 已发布,MyS ...

  6. Centos7安装MySQL8.0 - 操作手册

    MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) ...

  7. CentOS 7.4 64位安装配置MySQL8.0

    第一步:获取mysql YUM源 进入mysql官网获取RPM包下载地址 https://dev.mysql.com/downloads/repo/yum/   image.png 点击下载   im ...

  8. 使用yum源的方式单机部署MySQL8.0.13

    使用yum源的方式单机部署MySQL8.0.13 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 基本上开源的软件都支持三种安装方式,即rmp方式安装,源码安装和二进制方式安装.在 ...

  9. 使用二进制安装包的方式单机部署MySQL8.0.13

    使用二进制安装包的方式单机部署MySQL8.0.13 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于MySQL的介绍我这里就不多做赘述了,如何下载MySQL详情请参考:MySQ ...

  10. MySQL-8.0.x 新特性之索引页合并

    [背景] 索引的重要是在些不表.在这里我想说的另一个问题:索引和数据一样在innodb中都是以page的形式来组织的,那么问题就来了. 比如果说索引 ix_person_name 的内容只要8个页面就 ...

随机推荐

  1. Arduino Uno Rev3

    Overview Arduino Uno is a microcontroller board based on the ATmega328P (datasheet). It has 14 digit ...

  2. [NISACTF 2022]level-up

    [NISACTF 2022]level-up 查看源码,根据这个提示就可以反应出是需要去访问robots.txt这个文件 访问level_2_1s_h3re.php进入第二关 需要post进去arra ...

  3. HDU4841 AHOI1999 圆桌问题 题解

    朴素的约瑟夫问题,用vector处理即可 #include <iostream> #include <vector> using namespace std; //AHOI19 ...

  4. 用go封装和实现扫码登录

    用go封装和实现扫码登录 本篇为用go设计开发一个自己的轻量级登录库/框架吧 - 秋玻 - 博客园 (cnblogs.com)的扫码登录业务篇,会讲讲扫码登录的实现,给库/框架增加新的功能,最后说明使 ...

  5. 新手面对安卓6.0以上的版本时出现一个关于文件权限检测的问题,报错为:“无法解析符号 'checkSelfPermission'”,解决办法

    [[注意]:这只是笔者在遇到这个问题时的解决方法,如果对您毫无帮助,请自寻他法!!!] 面对新手:在简单做一个音乐播放程序时,如果面对安卓6.0以上的版本,就会出现一个关于文件权限检测的问题,报错为: ...

  6. Unity 代码调用重新生成csproj文件

    结论 先放结论:editor代码中直接调用 Unity.CodeEditor.CodeEditor.CurrentEditor.SyncAll(); 原因 在一些操作后,比如修改csc.rsp的内容之 ...

  7. FWT & FMT(位运算卷积)学习笔记

    它们两个的全名叫 快速沃尔什变换(FWT) 和 快速莫比乌斯变换(FMT),用来在 \(O(n\log n)\) 时间复杂度内求位运算卷积. 因为 FMT 能解决的问题是 FWT 的子集,所以这里不讲 ...

  8. 四个id 生成器性能比较记录

    IdGenerator Seata 优化的雪花算法 Seata基于改良版雪花算法的分布式UUID生成器分析 关于新版雪花算法的答疑 csharp 移植代码 public class IdGenerat ...

  9. dmd-50

    按r键将其转换为字符 再将其拷贝下来 将其md5解密 得到一串英文,根据wp需要再将其加密一下,不知道为啥,得到的md5即为flag

  10. 为React Ant-Design Table增加字段设置

    最近做的几个项目经常遇到这样的需求,要在表格上增加一个自定义表格字段设置的功能.就是用户可以自己控制那些列需要展示. 在几个项目里都实现了一遍,每个项目的需求又都有点儿不一样,迭代了很多版,所以抽时间 ...