当前位置: 首页 > news >正文

MySQL---优化日志

目录

一、MySQL优化

3、mysql  server上的优化 

3.1、MySQL查询缓存

 3.2、索引和数据缓存

3.2、线程缓存

二、MySQL日志

2.1、redo log   重做日志

2.2、undo log 回滚日志

 2.3、错误日志

2.4、查询日志

2.5、二进制日志

2.5.1、基于binlog数据恢复实践操作

六、慢查询日志


一、MySQL优化

1、SQL和索引的优化

2、应用上的优化

3、mysql  server上的优化 

3.1、MySQL查询缓存

MySQL 的查询缓存是把 select 查询语句上一次的查询结果记录下来放在缓存当中,下一次再查询相同内 容的时候,直接从缓存中取出
来就可以了,不用再进行一遍真正的SQL 查询。但是当两个 select查询中 间出现insert,updatedelete 语句的时候,查询缓存就会
清空 查询缓存适用更新不频繁的表 ,因 为当表更新频繁的话,查询缓存也总是被清空,过多的查询缓存的数据添加和删除,就会影
响MySQL的 执行效率,还不如每次都从磁盘上查来得快(缓存指的就是一块内存,内存I/O比磁盘 I/O 快很多)。 可以在MySQL 上通
过以下命令,来查看查询缓存的设置:

 通过show status命令,可以查看MySQL查询缓存的使用状况,如下:

 3.2、索引和数据缓存

主要指的就是 innodb_buffffer_pool_size 配置项,从名字上就能看到,该配置项是针对 InnoDB 存储引擎 起作用的,这个参数定InnoDB
存储引擎的表数据和索引数据的最大内存缓冲区大小。 innodb_buffffer_pool_size是同时为数据块和索引块做缓存,这个值设得越高,
访问表中数据需要的磁 盘 I/O 就越少

innodb_buffer_pool_size=512M

3.2、线程缓存

主要指配置文件中 thread_cache_size 配置项。给大家讲过 MySQL Server 网络模块采用经典的 I/O 复用
+ 线程池模型,之所以引入线程池,主要就是为了在业务执行的过程中,不会因为临时创建和销毁线
程,造成系统性能降低,因为线程的创建和销毁是很耗费性能的,所以线程池就是在业务使用之前,先
创建一组固定数量的线程,等待事件发生,当有 SQL 请求到达 MySQL Server 的时候,在线程池中取一
个线程来执行该 SQL 请求就可以了,执行完成后,不销毁线程,而是把线程再归还到线程池中,等待下
一次任务的处理( MySQL 会根据连接量,自动加大线程池的数量)。

thread_cache_size=10
配置完 thread_cache_size ,重启 MySQL Server 服务生效。

二、MySQL日志

2.1、redo log   重做日志

redo log :重做日志,用于记录事务操作的变化,确保事务的 持久性 redo log 是在事务开始后就开始
记录,不管事务是否提交都会记录下来,在异常发生时(如数据持久化过程中掉电), InnoDB 会使用
redo log 恢复到掉电前的时刻,保证数据的完整性。

 MySQL执行的时候都有缓存的辅助,不可能直接和磁盘打交道的

innodb_log_buffffer_size 默认是 16M ,就是 redo log 缓冲区的大小,它随着事务开始,就开始写 redo
log ,如果事务比较大,为了 避免事务执行过程中花费过多磁盘IO 可以设置比较大的 redo log缓存,节省磁盘IO

2.2、undo log 回滚日志

undo log :回滚日志,保存了事务发生之前的数据的一个版本,用于事务执行时的回滚操作,同时也是
实现多版本并发控制( MVCC )下读操作的关键技术。
DB_TRX_ID: 事务 ID                      DB_ROLL_PTR: 回滚指针

 2.3、错误日志

错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程
中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日
志。
mysqld 使用错误日志名 host_name.err(host_name 为主机名 ) 并默认在参数 DATADIR( 数据目录 ) 指定
的目录中写入日志文件。

2.4、查询日志

查询日志记录了客户端的所有语句。由于上线项目 sql 特别多,开启查询日志 IO 太多导致 MySQL 效率
低,只有在调试时才开启,比如通过查看 sql 发现热点数据进行缓存。

mysql> show global variables like "%genera%";

2.5、二进制日志

二进制日志 (BINLOG) 记录了所有的 DDL( 数据定义语言 ) 语句和 DML( 数据操纵语言 ) 语句,但是不包括
数据查询语句。语句以 事件 的形式保存,它描述了数据的更改过程。 此日志对于灾难时的数据恢复起
着极其重要的作用。
两个重要的应用场景:主从复制、数据恢复
查看 binlog mysql> show binary logs;
通过 mysqlbinlog 工具( mysql 原生自带的工具)可以快速解析大量的 binlog 日志文件,如:
shell> mysqlbinlog --no-defaults --database=school --base64-output=decode-rows
-v --start-datetime='2021-05-01 00:00:00' --stop-datetime='2021-05-10 00:00:00'
mysql-bin.000001 | more

2.5.1、基于binlog数据恢复实践操作

六、慢查询日志

MySQL 可以设置慢查询日志,当 SQL 执行的时间超过我们设定的时间,那么这些 SQL 就会被记录在慢查
询日志当中,然后我们通过查看日志,用 explain 分析这些 SQL 的执行计划,来判定为什么效率低下,是
没有使用到索引?还是索引本身创建的有问题?或者是索引使用到了,但是由于表的数据量太大,花费
的时间就是很长,那么此时我们可以把表分成 n 个小表,比如订单表按年份分成多个小表等。
慢查询日志相关的参数如下所示:

相关文章:

MySQL---优化日志

目录 一、MySQL优化 3、mysql server上的优化 3.1、MySQL查询缓存 3.2、索引和数据缓存 3.2、线程缓存 二、MySQL日志 2.1、redo log 重做日志 2.2、undo log 回滚日志 2.3、错误日志 2.4、查询日志 2.5、二进制日志 2.5.1、基于binlog数据恢复实践操作 六、慢查…...

【送面试题】深入解析Cookie和Session的请求区别及使用场景

AI绘画关于SD,MJ,GPT,SDXL百科全书 面试题分享点我直达 2023Python面试题 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI…...

010_第一代软件开发(二)

第一代软件开发(二) 文章目录 第一代软件开发(二)项目介绍界面布局功能完善快照功能获取可用串口播放按键提示音 关键字: Qt、 Qml、 QSerialPort、 QPixmap、 QSoundEffect 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML&#xff…...

基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(四)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 上一节说到待办系统的监听器TaskCreateListener,需要在flowable全局监听配置里加入配置 1、Glo…...

RestTemplate:简化HTTP请求的强大工具

文章目录 什么是RestTemplateRestTemplate的作用代码示例 RestTemplate与HttpClient 什么是RestTemplate RestTemplate是一个在Java应用程序中发送RESTful HTTP请求的强大工具。本文将介绍RestTemplate的定义、作用以及与HttpClient的对比,以帮助读者更好地理解和使…...

【数据结构】什么是数据结构?

数据结构(Data Structure)是计算机存储,组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合. 这么讲可能有些抽象,放一张图大家可能好理解一点: 上图依次是数据结构中逻辑结构中的:集合结构,线性结构,树形结构,图形结构. 而: 数据结构是一门研究非数值计算的程…...

c++源码编译过程(翻译阶段)的若干细节概要

c程序的编译主要包含两个阶段:源码编译(翻译阶段)和目标文件链接。 源码编译过程主要有如下这些阶段: 阶段1: 翻译源码文本字符 阶段2: 逻辑源码行标准化处理 阶段3: 文法处理,分解为不同的源码文本类型序列。例如分解为注释、预处理指…...

Go内置函数make和new的区别?

首先纠正一下make 和 new 是内置函数,不是关键字。 变量初始化,一般分为2步,变量声明变量内存分配,var 关键字就是用来声明变量的,new和make 函数主要是用来分配内存的。 var 声明值类型的变量时,系统会默…...

动手学深度学习(pytorch版)第二章-2.3线性代数Note-linear-algebra

类型 标量:仅包含一个数值被称为标量 向量:向量可以被视为标量值组成的列表 矩阵:正如向量将标量从零阶推广到一阶,矩阵将向量从一阶推广到二阶。 A torch.arange(20).reshape(5, 4) A.T //转置 张量:是描述具有…...

Docker CMD指令如何覆写

在Dockerfile里,CMD指令是可以被覆盖的。 在构建镜像时,可以通过docker build命令的–cmd选项覆盖Dockerfile的CMD: 例如: FROM ubuntu CMD ["echo","hello"]构建时覆盖CMD: docker build -t test --cmd "echo world" .在创建容器时,可以通过…...

动手吧,vue单独使用的复选框

单独使用的复选框可以用在两个状态之间的切换&#xff0c;如是否阅读协议、记住账号等场景。 效果&#xff1a; 1、template部分 <template><label class"v-checkbox-single"><span class"v-checkbox_input" :class"{ disabled }&qu…...

升级iOS17后可以降级吗?iOS17退回iOS16方法教程分享

iOS 17已上线几天&#xff0c;从网上用户的反馈和媒体机构的报告来看&#xff0c;iOS17系统对旧机型来说并不友好&#xff0c;除了电池续航下降以外&#xff0c;占用大量储存空间&#xff0c;BUG也不少。 苹果于 9 月 7 日发布了 iOS 16.6.1 版本&#xff0c;如果升级iOS17后发…...

基于STM32和LORA组网的养老院智能控制系统设计(第十八届研电赛)

一、整体功能 数据采集从机1采集烟雾浓度&#xff0c;PM2.5浓度&#xff0c;甲醛浓度&#xff1b;从机2采集温湿度&#xff0c;光照强度&#xff0c;噪声强度&#xff0c;老人体感温度&#xff1b;从机3收集厨房饮用水的TDS值。3个数据采集从机将采集到的数据显示在本地OLED屏…...

关于Qt适配不同分辨率和缩放率时可能遇到的问题和解决方案

如果没有特殊的处理&#xff0c;Qt的UI窗口在不同的分辨率和缩放率下&#xff0c;其显示效果可能会出现问题&#xff0c;常见的有&#xff1a; 子控件堆叠&#xff0c;无法显示完整 窗口尺寸变大&#xff0c;超出屏幕的显示范围 控件变形&#xff0c;长宽比不合理 界面模糊 …...

第1篇 目标检测概述 —(1)目标检测基础知识

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。目标检测是计算机视觉领域中的一项任务&#xff0c;旨在自动识别和定位图像或视频中的特定目标&#xff0c;目标可以是人、车辆、动物、物体等。目标检测的目标是从输入图像中确定目标的位置&#xff0c;并使用边界框将其标…...

Discuz论坛网站标题栏Powered by Discuz!版权信息如何去除或是修改?

当我们搭建好DZ论坛网站后&#xff0c;为了美化网站&#xff0c;想把标题栏的Powered by Discuz&#xff01;去除或是修改&#xff0c;应该如何操作呢&#xff1f;今天飞飞和你分享&#xff0c;在操作前务必把网站源码和数据库都备份到本地或是网盘。 Discuz的版权信息存在两处…...

springboot整合aop,实现日志操作

前言&#xff1a; 整合之前&#xff0c;我们要明白aop是什么&#xff0c;为什么要用aop&#xff0c;aop能帮我们做什么。 答&#xff1a;AOP是面向切面编程&#xff08;Aspect-Oriented Programming&#xff09;的简称&#xff0c;它是一种编程思想&#xff0c;旨在在面向对象…...

openjdk和oracle jdk的区别

OpenJDK 和 Oracle JDK 都是 Java Development Kit (JDK) 的不同实现&#xff0c;用于开发和运行 Java 应用程序。它们有一些区别&#xff0c;但也有很多相似之处。以下是它们之间的主要区别&#xff1a; 开源性质&#xff1a; OpenJDK 是开源的&#xff0c;由一个社区维护和开…...

深度学习-Python调用ONNX模型

目录 ONNX模型使用流程 获取ONNX模型方法 使用ONNX模型 手动编写ONNX模型 Python调用ONNX模型 常见错误 错误raise ValueError...&#xff1a; 错误&#xff1a;Load model model.onnx failed 错误&#xff1a;CUDAExecutionProvider is not in available provider 错…...

[2023.09.24]: 今天差点又交白卷

今天周日&#xff0c;搞定了家里装修的一件事情&#xff0c;周末的事特别多&#xff0c;总算在10点的时候&#xff0c;解决了昨天那个输入焦点设置失败的问题。 在探索Rust编写基于web_sys的WebAssembly编辑器&#xff1a;挑战输入光标定位的实践中&#xff0c;我们总结了设置光…...

css,环形

思路&#xff1a; 1.先利用conic-gradient属性画一个圆&#xff0c;然后再叠加 效果图 <template><div class"ring"><div class"content"><slot></slot></div></div> </template> <script> import …...

php食堂点餐系统hsg5815ABA2程序-计算机毕业设计源码+数据库+lw文档+系统+部署

php食堂点餐系统hsg5815ABA2程序-(毕业设计毕设项目源代码课程设计程序设计指导xz2023) php食堂点餐系统hsg5815ABA2程序-计算机毕业设计源码数据库lw文档系统部署...

Vite打包时使用plugin解决浏览器兼容问题

一、安装Vite插件 在终端输入如下命令&#xff1a; npm add -D vitejs/plugin-legacy 二、配置config文件 在项目目录下创建vite.config.js文件夹&#xff0c;配置如下代码&#xff1a; import { defineConfig } from "vite"; import legacy from "vitejs/pl…...

java Excel 自用开发模板

下载导出 import com.hpay.admin.api.vo.Message; import com.hpay.admin.dubbo.IConfigDubboService; import com.hpay.admin.dubbo.IFileExportLogDubboService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.poi.hss…...

34.CSS魔线图标的悬停效果

效果 源码 index.html <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Icon Fill Hover Effects</title> <link rel="stylesheet" h…...

Django — 会话

目录 一、Cookie1、介绍2、作用3、工作原理4、结构5、用途6、设置7、获取 二、Session1、介绍2、作用3、工作原理3、类型4、用途5、设置6、获取7、清空信息 三、Cookie 和 Session 的区别1、存储位置2、安全性3、数据大小4、跨页面共享5、生命周期6、实现机制7、适用场景 四、P…...

SpringBoot集成easypoi实现execl导出

<!--easypoi依赖&#xff0c;excel导入导出--><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>4.4.0</version></dependency>通过Exce注解设置标头名字和单…...

第9章 【MySQL】InnoDB的表空间

表空间 是一个抽象的概念&#xff0c;对于系统表空间来说&#xff0c;对应着文件系统中一个或多个实际文件&#xff1b;对于每个独立表空间来说&#xff0c;对应着文件系统中一个名为 表名.ibd 的实际文件。大家可以把表空间想象成被切分为许许多多个 页 的池子&#xff0c;当我…...

工作、生活常用免费api接口大全

手机号码归属地&#xff1a;提供三大运营商的手机号码归属地查询。全国快递物流查询&#xff1a;1.提供包括申通、顺丰、圆通、韵达、中通、汇通等600快递公司在内的快递物流单号查询。2.与官网实时同步更新。3.自动识别快递公司。IP归属地-IPv4区县级&#xff1a;根据IP地址查…...

寻找单身狗

在一个数组中仅出现一次&#xff0c;其他数均出现两次&#xff0c;这个出现一次的数就被称为“单身狗“。 一.一个单身狗 我们知道异或运算操作符 ^ &#xff0c;它的特点是对应二进制位相同为 0&#xff0c;相异为 1。 由此我们容易知道两个相同的数,进行异或运算得到的结果…...

asp做网站优点/网站建设合同

1、xml解析有三个方式&#xff1a; DOM&#xff08;document object Model&#xff09;&#xff1a;整个类型装入 SAX&#xff08;Simple API for XML&#xff09;&#xff1a;这个是边解析边装入&#xff0c;很好的解决了性能问题&#xff0c;典型的推模式&#xff0c;这个是服…...

网站开发与设计难嘛/深圳外贸推广公司

几年前&#xff0c;一篇表述“10个Scala函数式单行代码”的文章非常受欢迎&#xff0c;并且随后立马出现了其他的语言版本&#xff0c;例如Haskell版本&#xff0c;Ruby版本&#xff0c;Groovy版本&#xff0c;Clojure版本&#xff0c;Python版本&#xff0c;C#版本&#xff0c…...

百度有哪些网站可免费做软件推广/淘特app推广代理

用css实现网页背景渐变的代码如下&#xff1a; 一、从上往下渐变 Example Source Code:body{FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType0,startColorStr#ffffff,endColorStr#000000);} 二、从左上至右下渐变 Example Source Code:body{FILTER: Alpha( s…...

网站建设报价套餐/外链屏蔽逐步解除

【知识要点】   &#xff08;&#xff11;&#xff09;初识GridView   &#xff08;&#xff12;&#xff09;为GridView加个样式   &#xff08;&#xff13;&#xff09;让GridView自定义表头 【问题提出】   如何把客户以下面列表的形式展示出来呢&#xff1f; 【…...

中国网站建设网/百度开户流程

http://www.mcu123.com/news/Article/web/uc/200609/2223.html转载于:https://www.cnblogs.com/stoneresearch/archive/2008/10/21/4336881.html...

dedecms制作网站地图/厦门百度关键词推广

2019独角兽企业重金招聘Python工程师标准>>> 1.运行时常量池属于线程共享区中的方法区。 2.运行时常量池用于编译期生成的各种自变量&#xff0c;符号引用&#xff0c;这部分内用将在类加载后接入方法区的运行时常量池中存放。 看如下代码所示&#xff0c;如图&…...