千家信息网

Mysql8和mysql5.7有什么区别

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,小编给大家分享一下Mysql8和mysql5.7有什么区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. NoSql存储Mysql从5.7 版本提供了NoSQL的存储功能,在8.
千家信息网最后更新 2025年01月22日Mysql8和mysql5.7有什么区别

小编给大家分享一下Mysql8和mysql5.7有什么区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1. NoSql存储

Mysql从5.7 版本提供了NoSQL的存储功能,在8.0中这部分得到一些修改,不过这个在实际中用的极少

2.隐藏索引

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

也就是说可以隐藏一个索引,然后观察对数据库的影响.如果性能下降,就说明这个索引是有效的,于是将其"恢复显示"即可;如果数据库性能看不出变化,说明这个索引是多于的,可以删掉了

隐藏一个索引的语法

ALTER TABLE t ALTER INDEX i INVISIBLE;

恢复显示该索引的语法是:

ALTER TABLE t ALTER INDEX i VISIBLE;

当一个索引被隐藏时,我们可以从show index命令的输出汇总看出,该索引visible属性值为No

**注意:**当索引被隐藏时,他的内容仍然是和正常索引一样实时更新的,这个特性本身是专门为了优化调试而使用的,如果你长期隐藏一个索引,那还不如干掉,因为索引的存在会影响数据的插入\更新和删除功能

3.设置持久化

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

MySQL 8 新增了 SET PERSIST 命令,例如:

SET PERSIST max_connections = 500;

MySQL 会将该命令的配置保存到数据目录下的 mysqld-auto.cnf 文件中,下次启动时会读取该文件,用其中的配置来覆盖缺省的配置文件。

4.UTF-8 编码

从 MySQL 8 开始,数据库的缺省编码将改为 utf8mb4,这个编码包含了所有 emoji 字符。多少年来我们使用 MySQL 都要在编码方面小心翼翼,生怕忘了将缺省的 latin 改掉而出现乱码问题。从此以后就不用担心了。

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

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

SELECT t1.*, t2.* FROM         (SELECT col1 FROM table1) t1,         (SELECT col2 FROM table2) t2;

而有了 CTE,我们可以这样写:

      WITH         t1 AS (SELECT col1 FROM table1),         t2 AS (SELECT col2 FROM table2)        SELECT t1.*, t2.*         FROM t1, t2;

这样看上去层次和区域都更加分明,改起来也更清晰的知道要改哪一部分。

这个特性在很多报表场景是很有用的,也是mysql优化的一个很重要特性。

1.235窗口函数(Window Functions)

MySQL 被吐槽最多的特性之一就是缺少 rank() 函数,当需要在查询当中实现排名时,必须手写 @ 变量。但是从 8.0 开始,MySQL 新增了一个叫窗口函数的概念,它可以用来实现若干新的查询方式。

窗口函数有点像是 SUM()、COUNT() 那样的集合函数,但它并不会将多行查询结果合并为一行,而是将结果放回多行当中。也就是说,窗口函数是不需要 GROUP BY 的。

假设我们有一张 "班级学生人数" 表:

如果要对班级人数从小到大进行排名,可以这样利用窗口函数:

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

这个特性也是Oracle11g有的一个新特性,在优化也是起着很重要的作用。

看完了这篇文章,相信你对"Mysql8和mysql5.7有什么区别"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

索引 函数 特性 数据 查询 命令 数据库 文件 编码 配置 性能 结果 重要 也就是 也就是说 人数 功能 字段 有用 班级 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 战地五社区服务器ping不显示 软件开发n 1原则 服务器机房管理问题 相机影像数据库忘记受损 概括网络技术开发 网络安全审查运满满什么时候结束 招聘网络技术总监启事 雄升科技软件开发 大话有个服务器叫西畔 mac数据库工具哪个好 警察学院公共管理软件开发厂家 数据库父子表怎么关联 北京软件开发公司软件案例 邹平机械加工管理软件开发 苏州鸿涛网络技术有限公司怎么样 服务器还原系统网卡驱动 5g网络技术白皮书下载 数据库查询要递归如何优化 网络安全起源是什么 社区网络安全自评报告 互联网科技冬令营 服务器主板维修天津云空间 网络安全方向面试大厂经验 银行网络安全会议纪要2022 4路服务器24盘位 DNS服务器的搭建配置 怎么清理微信文档及数据库 2022年医疗网络安全 计算机专业网络技术专升本 酒泉数维网网络技术有限公司
0