mysql 8.0.13与5.7的区别_mysql8.0和mysql5.7的区别是什么?,oracle和mysql索引区别

mysql8.0和mysql5.7的区别是什么?MySQL 8.0和mysql5.7的区别是什么?,区别: MySQL 8.0的索引可以隐藏和显示。当一个索引被隐藏时,它将不会被查询优化; 2使用。mysql8.0增加了“SET PERSIST”命令;3.从mysql8.0开始,数据库的默认编码将改为utf8mb4,包含所有表情字符。

07f5cac8504316895e5f7f536c58dbcb.png

(推荐教程: MySQL视频教程

1. NoSql存储

Mysql从5.7版本,提供了NoSQL的存储功能,这部分在8.0中已经修改过了,但实际上很少用到

5423ac6af011274334409c643fe3477e.png

2.隐藏索引

隐藏索引的功能对于性能调试非常有用。在8.0中,可以隐藏和显示索引。当一个索引被隐藏时,它将不会被查询优化使用

16574451240f3106b239e9a46332ddd2.png

也就是说,可以隐藏一个索引,然后观察对数据库的影响。如果性能下降,说明指标有效,可以“恢复”;如果数据库的性能没有变化,这意味着有更多的索引可以删除

隐藏索引的语法

ALTER TABLE t ALTER INDEX I INVIDEX;要继续显示索引,语法如下:

ALTER TABLE t ALTER INDEX i VISIBLE当一个索引被隐藏时,我们可以从show index命令的输出摘要中看到,该索引的可见属性值是No

* *注意:**隐藏索引时,其内容仍像正常索引一样实时更新。此功能专门用于优化调试。如果长时间隐藏一个索引,最好是杀死它,因为索引的存在会影响数据的插入\更新和删除功能。

3.设置持久化

MySQL设置可以在运行时通过SET GLOBAL命令进行更改,但这种更改只是暂时生效,下次启动时会从配置文件中读取数据库。

MySQL 8添加了SET PERSIST命令,例如:

SET PERSIST max _ connections=500

MySQL会将此命令的配置保存到数据目录中的MySQL-auto . CNF文件,下次启动时会读取此文件,并用其中的配置覆盖默认配置文件。

4.UTF-8 编码

从MySQL 8开始,数据库默认编码会改为utf8mb4,包含所有表情字符。多年来,我们在使用MySQL时必须小心编写代码,以免忘记更改默认的拉丁文,导致代码混乱。从现在开始不用担心了。

5.通用表表达式(Common Table Expressions)

复杂查询使用嵌入式表,例如:

选择t1。*,t2。*出发地

(从表1中选择第1列)t1,

(从表2中选择第2列)T2;有了CTE,我们可以这样写:

随着

t1 AS(从表1中选择第1列),

t2 AS(从表2中选择第2列)

选择t1。*,t2。*

FROM t1,T2;这样看起来层次和区域更分明了,知道改哪个部分就更清楚了。

这个特性在许多报表场景中非常有用,也是MySQL优化的一个非常重要的特性

1.235窗口功能(窗口功能)

MySQL最受欢迎的特性之一就是缺少rank()函数。当需要在查询中进行排序时,必须手工编写@ variable。但是从8.0开始,MySQL增加了一个新概念,叫做窗口函数,可以用来实现几种新的查询方法。

Window函数有点像SUM()和COUNT()这样的聚合函数,但是它没有将多行查询结果合并到一行中,而是将结果放回多行中。也就是说,窗口函数不需要GROUP BY。

假设我们有一个“类号”表:

ed202bb0097dfea513c3a8a0e82298d5.png

如果要将班级规模从小到大排序,可以使用如下窗口功能:

fb1528a52e6e93134367ea6cbb835d0d.png

说明:这里创建了一个名为w的窗口,它指定对stu_count字段进行排序,然后在select子句中对w执行rank()方法,并将结果作为rank字段输出。

这个功能也是Oracle11g的一个新功能,在优化也扮演着重要的作用

关于编程的更多知识,请访问:编程入门!以上是mysql8.0和mysql5.7的区别,详情请关注Lei.com其他关于php知识的相关文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值