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

区别:mysql8.0的索引可以被隐藏和显示,当一个索引隐藏时,他不会被查询优化器所使用;2、mysql8.0新增了“SET PERSIST”命令;3、从mysql8.0开始,数据库的缺省编码将改为utf8mb4,包含了所有emoji字符。

07f5cac8504316895e5f7f536c58dbcb.png

mysql8.0和mysql5.7的区别是

1. NoSql存储

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

5423ac6af011274334409c643fe3477e.png

2.隐藏索引

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

16574451240f3106b239e9a46332ddd2.png

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

隐藏一个索引的语法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 的。

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

ed202bb0097dfea513c3a8a0e82298d5.png

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

fb1528a52e6e93134367ea6cbb835d0d.png

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

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

更多编程相关知识,请访问:编程入门!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql pt check sum_percona工具pt-table-checksum

利用pt-table-checksum进行数据库同步检查rpm方式#wget percona.com/get/percona-toolkit.rpm源码方式#wget http://www.percona.com/downloads/percona-toolkit/2.2.1/percona-toolkit-2.2.8.tar.gz#yum install perl perl-CPAN perl-DBD-MySQL perl-Time-HiRes解压&#xff0…

如何通过BBED找回删除数据

项目案例:客户删除delete了重要数据,无备份,客户联系我,要求恢复相应数据。本次通过实验方式重现客户现场。备份高于一切,首先备份,再操作 创建表格: create table king(age number,name varcha…

mysql 重置密码语音_数字语音信号处理学习笔记语音信号的同态处理(2)

5.4 复倒谱和倒谱 定义 设信号x(n)的z变换为X(z) z[x(n)],其对数为: (1) 那么 的逆z变换可写成: (2) 取 (1)式则有 (3) 于是式子(2)则可以写成 (4) 则式子(4)即为信号x(n)的复倒谱 的定义。因为 一般为复数,故称 为复倒谱。如果对…

NFS 八步神曲

Server:第一步yum install - y nfs*第二步vi /etc/exports第三步/var/testdirs *(rw,all_squash,anonuid99,anongid99,sync)第四步service nfs start第五步chkconfig --level 35 nfs on Client第一步mount 192.168.1.X:/var/www/testdirs /var/www/testdirs第二步vi /et…

2014年9月计算机二级mysql真题_2017年9月全国计算机二级MySQL考试章节练习题

2017年9月全国计算机二级MySQL考试章节练习题计算机二级考试成绩在“及格”,即60~89分者,由教育部考试中心发合格证书,考试成绩在“优秀”,即90~100分者,由教育部考试中心发优秀证书。这是小编给大家提供的2017年9月全…

macOS 10.11.* 安装scrapy

1.安装brew,然后修改brew源为某高校 2.更新python brew install python 3.安装pip 4.安装scrapy,这里肯定会有一个坑,之前在网上看到10.11开启了什么rootless的东西, 会遇到安装six失败,原因是由于系统安装了six&#…

mysql @ $_mysql常见笔试题

一、Mysql常见笔试题1、Mysql 中有哪几种锁?(1)表级锁:开销小,加锁快。不会出现死锁,锁定粒度大,发生锁冲突的概率高,并发度低。(2)行级锁:开销大,加锁慢。会出现死锁,锁…

按角度构建切变矩阵

切变是坐标系的变换,非均匀的拉伸。切变时候,角度变化,但是面积或体积不变。也可以理解为坐标轴间的角度变化,造成的扭曲。 如下图,这是x坐标根据y坐标的切变,机器人的y坐标没有变化,只有x坐标变…

java 语法_Java基础语法

标识符定义给包,类,方法,变量起名字的符号。组成规则标识符由字母、数字、下划线、美元符号组成。命名原则:见名知意包名:全部小写,多级包用.隔开。举例:com.jourwon类、接口:一个单词首字母大写,多个单词每个单词的首字母大写。举…

office2010安装出现错误1935的解决方法

安装Office2010 professional plus 2010过程中弹出错误,提示错误 1935,安装程序集组件的过程中发生错误。HRESULT:0x800070BC9 如下图所示: 这个错误是由于电脑.net framework 未安装或安装有错误导致的。解决方法为:下载.net fra…

java linux 服务_java项目部署Linux服务器几种启动方式总结经验

一:两种部署包:部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是jar包,下面小介绍两种…

用户登录提交前,密码加密传输

需求: 因为OA放在外网,为了提高安全性,用户登录时,密码加密传输,数据库密码加密保存。 解决方案: 前台加密用JQUERY MD5插件,这个工具从网上下载的。 后台密码加密,用java的MD5工…

Winodows10 安全登录(Administrator账户与Microsoft Account关联

我们都知道windows系统最大的管理员是administrator,linux是root,从windows7时代开始,安装操作系统的时候会在最后一步提示创建一个本地账户一直延续到windows8、windows8.1、windows10。近期微软发布了windows10后,很多用户都开始…

flux java_Java反应式框架Reactor中的Mono和Flux

1. 前言最近写关于响应式编程的东西有点多,很多同学反映对Flux和Mono这两个Reactor中的概念有点懵逼。但是目前Java响应式编程中我们对这两个对象的接触又最多,诸如Spring WebFlux、RSocket、R2DBC。我开始也对这两个对象头疼,所以今天我们就…

java 线程分组_Java多线程可以分组,还能这样玩!

前面的文章,栈长和大家分享过多线程创建的3种方式《实现 Java 多线程的 3 种方式》。但如果线程很多的情况下,你知道如何对它们进行分组吗?和 Dubbo 的服务分组一样,Java 可以对相同性质的线程进行分组。来看下线程类 Thread 的所…

centos 6 安装zabbix 3.0

1.安装PHP Zabbix 3.0对PHP的要求最低为5.4,而CentOS6默认为5.3.3,完全不满足要求,故需要利用第三方源,将PHP升级到5.4以上,注意,不支持PHP7 rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm yum in…

java 共享锁 独占锁_java中的公平锁、非公平锁、可重入锁、递归锁、自旋锁、独占锁和共享锁...

一、公平锁与非公平锁1.1 概述公平锁:是指多个线程按照申请锁的顺序来获取锁。非公平锁:是指在多线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取到锁,在高并发的情况下,有可能造成…

GoogleNet网络分析与demo实例

参考自 up主的b站链接:霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频这位大佬的博客 Fun_机器学习,pytorch图像分类,工具箱-CSDN博客 1. GoogLeNet网络详解 GoogLeNet在2014年由Google团队提出(与VGG网络同年,注意GoogLeNet中的L大…

51服务的开启方式

服务开启方式的知识点见博文:http://blog.csdn.net/zengmingen/article/details/49425161步骤: 1、新建Android项目名“51服务的开启方式” 2、新建一个类 MyService,继承 Service 3、在清单文件里配置第二步建的service 4、在Myservice类中覆…

JavaWeb应用配置文件安全解决方案

这里主要说说JavaWeb应用的配置文件安全,通常JavaWeb应用多多少少会有一些配置文件,其中数据源的配置则是关系到数据库的安全,另外还有一些基于文件的权限配置,应用程序的一些系统参数。鉴于这样的情况,如果配置文件被…