MySQL进阶 日志结尾以及8.0新特性

日志结尾

前面我们聊了mysql的undo日志,redo日志,binlog等等,也从一条update语句来分析了一下日志的执行思路以及版本控制是怎么回事,四大特性是怎么实现的等等

今天我们来说说最后一个错误日志   

其实用处不大  因为对我们开发人员来说基本上是没有权限来查看错误日志的

一般是由我们的DBA来查看的

还有一个就是通用日志

这里会将所有的操作都记录下来

比如说某个用户出现了重复支付的问题,这里程序员就得根据这个来排查

或者锁是一些疑难的问题也可以通过这个来查询

我们需要将参数设置为on才能打开通用查询日志  

mysql8.0新特性

mysql的简单优化就已经告一段落了,下面我们来谈谈8.0版本的优化点

首先是一个优化手段以及其效果

下面我们介绍一些系统参数

这个就是服务器在同一时间最多允许多少条连接数

允许多少用户连接  剩下多余的连接数是给DBA来管理的

下面是一些超时时间的设置参数

新增降序索引

5.7对应的降序索引设置之后还是走的是普通索引

虽然支持这样的语法但是并没有得到对应的实现

对于8.0的实现优化了这一点

在使用c1正排c2倒排用到了降序索引 

------------------------------------------------------------------------------------------------------------------------

5.7如果使用分组group by关键字 会按照分组的顺序升序排列

而使用8.0则不会按照字段排序

------------------------------------------------------------------------------------------------------------------------

8.0新增隐藏索引

可以是你不确定这个索引有没有人使用了,让mysql的执行引擎默认无视这个索引

主要使用一个invisible的关键字  

这里的索引是真实存在的,在mysql的内部也是会真实维护一样的索引结构的

但是类似于软删除  不让看到

等到确实没有使用的时候再彻底删除

可以使用这个语句查看各种参数

或者还有一种优化手段就是先建立隐藏索引

临时使用一次看看优化器会不会走这个索引,如果使用到这个索引

那么我们再进行对应的设置全局参数

有点类似于灰度发布的感觉

------------------------------------------------------------------------------------------------------------------------

函数索引

我们知道mysql最好在where的时候不要使用函数

这是因为这样走不了索引

详情还是参考对应的索引树

但是比如我们想实现登录大小写不区分就没办法走索引了

这时候就用到了函数索引

实际上也是将函数的结果重新加了一层索引

我们知道因为8.0所有的系统表都替换成了innodb存储引擎

所以才能实现对应的一些特性

这里下面我们介绍一下对应的 for update  

实际上是一个排他锁

我们在启动一个事务查询这里就会出现问题

锁住了执行不了

但是8.0有一个nowait可以直接返回而无需阻塞

或者使用for   share 共享锁也是可以的

------------------------------------------------------------------------------------------------------------------------

新增Innodb自适应参数

就是可以根据对应的服务器检测的内存大小来自适应的选择更适合的buffered_pool的大小等参数能尽可能多的占据对应的可占用的资源来达成相对来说最好的效率

注:使用这个参数的时候最好是MySQL单独的服务器,否则会造成比如说redis的服务无法运行等操作

-----------------------------------------------------------------------------------------------------------------------

死锁检测参数  

建议开启但是在需要高并发的情况下可以酌情去关闭对应的参数以提高性能

-----------------------------------------------------------------------------------------------------------------------

8.0之后的undoLog已经不放在ibd文件中了

而是放在了对应的单独文件中了

对应也是有自增主键的bug修复

在5.7的版本中假设我现在有3条数据

1 2 3 

这里我将1的数据改成5了

然后添加后面的数据就会出现bug

8.0之后是增加到了redolog中

对应的update语句也会有感应

-----------------------------------------------------------------------------------------------------------------------

MySQL窗口函数  

也叫分析函数

这里实际上是对group by语句的一个优化

后面的操作使用分区就能实现group by 的功能了

这里的over实际上就是对聚合函数的条件

实际上是类似于group by 操作的

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c++读取文本文件出现乱码问题

else if (type 2) { //教师身份验证 int fId; //从文件中获取的id号 string fName; //从文件中获取的姓名 string fPwd; //从文件中获取的密码 while (ifs >> fId && ifs >> fName && ifs >> fPwd) { cout…

windows Oracle 11g服务器端和客户端安装 SQLark连接ORACLE

1 从ORACLE官网下载数据库安装包 https://edelivery.oracle.com/osdc/faces/SoftwareDelivery 2:安装数据库 注意:在加载组件的这一步,如果你的电脑里面有杀毒软件,首先把安装目录加入白名单,要不然可能会一直加载组件失败。…

面向对象的理解

1.结构化程序设计(面向过程) 结构化程序主张按功能来分析系统需求,结构化的主要原则: 自顶向下 逐步求精 模块化设计 结构化程序会按功能把程序分为一个个的单独的文件,例如:让灯亮这个功能,就会由多个函数构成一…

银行总部文件自动下发,如何保证不影响专线网络使用?

银行在我国金融体系中占据重要地位,是我国市场经济的重要组成部分。我国商业银行随着自身不断发展,规模日益扩大,形成了“总行-分行-支行-营业网点”的典型层级管理模式。在日常中,银行总部存在文件下发的场景: 银行总…

c4d云渲染是工程文件会暴露吗?

在数字创意产业飞速发展的今天,C4D云渲染因其高效便捷而备受欢迎。然而,随着技术应用的深入,人们开始关注一个核心问题:在享受云渲染带来的便利的同时,C4D工程文件安全吗?是否会有暴露的风险?下…

常见的字符编码

字符:各种文字和符号的总称,包括各个国家的文字,标点符号,图形符号,数字等 字符集:字符集是多个符号的集合,每个字符集包含的字符个数不同 字符编码:字符集只是规定了有哪些字符&a…

openlayers绘制经纬网格,有添加或者移除功能

项目需要在地图中添加经纬网格,然后看了一下官网有相关的介绍 官网 我的项目是vue写的,当点击多选框显示隐藏经纬网格,下面直接写代码 这是绘制经纬网格方法 //引入 import TileArcGISRest from ol/source/TileArcGISRest import "ol/o…

k近邻和kd树

K近邻 选取k值的时候可以采用交叉验证的方法 一般采用欧氏距离 kd树 采用树这个特殊的数据结构来实现k近邻算法 先假设是二维的情况 下面讲解kd树的完整构造过程 找这个中位数是按照每棵子树来创建的 前提是已经有了一棵kd树,然后来一个实例点

Ai编码的助手,现在我用这个

给你分享一个AI编码助手—百度Comate! https://comate.baidu.com/zh/shopping?inviteCodeaz5z518a 记得在你的vscode 或 jetbrains编码工具里体验体验哦

Python UDP编程简单实例

TCP是建立可靠的连接,并且通信双方都可以以流的形式发送数据。 相对于TCP,UDP则是面向无连接的协议,不需要建立连接,只需要知道对方IP地址和端口号,就可以直接发送数据包。但是只管发送不保证到达。 虽然UDP传输数据…

新定义RD8T36P48点亮LED--汇编

其实汇编和C语言差不多,简单的东西用汇编挺好,中等及以上复杂度的程序还是C语言更灵活 直接在keil新建好工程,选好芯片型号和下载方式,再创建一个.asm文件并添加到工程, 工程创建完如图 工程配置 代码 ORG 0000HL…

U-Mail邮件系统取得多项适配认证,全面支持国产化信创环境

随着信息技术的发展,信息化建设越来越深入到社会各个领域,成为驱动经济社会发展的重要力量。在此背景下,我国正加快构建国家信息安全保障体系,实现自主可控,形成安全可靠的信息技术体系。这正是我们所说的“信创”&…

【计算机网络原理】浅谈应用层协议的自定义和传输层UDP协议的总结

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

重磅推荐!四信AI智能一体屏系列全网上线

近年来,随着物联网、云计算、人工智能等新兴技术快速发展,制造、能源、交通、零售、医疗等行业设备需要更高程度的自动化控制。 传统的计算机和控制设备早已无法满足如今高性能复杂任务的要求,越来越多主流行业的项目落地依靠工控机&#xff…

CCF20221201——现值计算

CCF20221201——现值计算 代码如下&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int n,a[1001];float i,sum0.0;scanf("%d %f",&n,&i);for(int j0;j<n1;j){scanf("%d",&a[j]);suma[j]*pow((1i),-j);}print…

抽烟行为检测:从传统巡查到智能算法

在当前人工智能和计算机视觉技术的迅猛发展下&#xff0c;基于视觉分析的抽烟行为检测算法成为一种高效的技术手段。此类算法通常依赖于深度学习模型&#xff0c;特别是卷积神经网络&#xff08;CNN&#xff09;&#xff0c;通过对摄像头捕捉的视频流进行实时分析&#xff0c;能…

2024.05.23 学习记录

1、 react hooks 面经复习 2、xiaolin coding 计算机网络 复习 3、组件库 subMenu、test测试、tabs组件初步开发完成 4、代码随想录刷题&#xff1a;动态规划 01背包 all

【C#】怎么取到范型里具体属性的数据

文章目录 我们在编程程序时&#xff0c;经常会遇到功能非常相似的模块&#xff0c;只是它们处理的数据不一样。但我们没有办法&#xff0c;只能分别写多个方法来处理不同的数据类型。这个时候&#xff0c;那么问题来了&#xff0c;有没有一种办法&#xff0c;用同一个方法来处理…

HTML5好看的通用网站模板源码

文章目录 1.设计来源1.1 主界面1.2 模板菜单1 界面1.3 模板菜单2 界面1.4 模板菜单3 界面1.5 下拉菜单1 界面1.6 下拉菜单2 界面1.7 模板菜单4 界面1.8 模板菜单5 界面1.9 界面底部 2.效果和源码2.1 动态效果2.2 源码目录2.3 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址…

物联网网关硬件和云端分别实现了哪些功能?天拓四方

在物联网&#xff08;IoT&#xff09;的广阔领域中&#xff0c;物联网网关硬件和云端各自扮演着不可或缺的角色。它们通过一系列功能&#xff0c;共同确保物联网系统的顺畅运行&#xff0c;为各类设备提供稳定、高效的数据传输与处理服务。本文将详细解析物联网网关硬件和云端分…