MySQL-- 优化(慢查询)

MySQL–优化(慢查询)

  1. 定位慢查询
  2. SQL执行计划
  3. 索引
    • 存储引擎
    • 索引底层数据结构
    • 聚簇和非聚簇索引
    • 索引创建原则
    • 索引失效场景
  4. SQL优化经验

一、如何定位慢查询?

定位慢查询是数据库性能优化的关键步骤之一。当数据库执行某些查询时,如果响应时间过长,就可能导致系统性能下降,影响用户体验。以下是一些定位慢查询的方法:

1、识别常见的慢查询场景
  • 聚合查询
    • 涉及大量数据的聚合操作,如 SUM(), AVG(), COUNT() 等。
  • 多表查询
    • 特别是涉及多个大表的连接操作。
  • 表数据量过大查询
    • 当表中的数据量非常大时,即使简单的查询也可能变得缓慢。
  • 深度分页查询
    • 在大数据集上进行深度分页时,性能可能会显著下降。

这些场景的主要表现包括页面加载过慢、接口响应时间过长(通常超过1秒)。

2、使用MySQL慢查询日志

MySQL慢查询日志是定位慢查询的一种有效方法。它记录了执行时间超过指定阈值(由 long_query_time 参数定义,默认是10秒)的所有SQL语句。

slow_query_log = 1  
slow_query_log_file = /var/lib/mysql/localhost-slow.log  
long_query_time = 1  
log_queries_not_using_indexes = 1
  • slow_query_log = 1: 启用慢查询日志。
  • slow_query_log_file: 指定慢查询日志文件的路径。
  • long_query_time: 定义慢查询的时间阈值,单位是秒。这里设置为1秒,意味着执行时间超过1秒的查询将被记录。
  • log_queries_not_using_indexes: 记录没有使用索引的查询。这对于发现潜在的优化点非常有用。

重新启动MySQL服务器

配置完成后,需要重新启动MySQL服务器以使更改生效。这可以通过以下命令完成(具体命令可能因系统而异):

sudo service mysql restart  
# 或者  
sudo systemctl restart mysqld

查看慢查询日志

一旦 MySQL 服务器重新启动并运行了一段时间,就可以查看慢查询日志文件(在本例中为 /var/lib/mysql/localhost-slow.log)以分析记录的慢查询。日志文件通常包含查询的SQL语句、执行时间、锁定时间等信息。

注意事项

  • 开启慢查询日志会对MySQL服务器的性能产生一定的影响,因为记录日志本身需要消耗资源。因此,在生产环境中通常只在需要调试性能问题时临时开启慢查询日志。
  • 定期检查和分析慢查询日志是优化数据库性能的重要步骤。通过分析日志中的查询,可以发现潜在的优化机会,如添加索引、优化查询语句等。

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

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

相关文章

QUIC来了!

什么是QUIC QUIC,快速UDP网络连接(Quick UDP Internet Connection)的简称,即RFC文档描述它为一个面向连接的安全通用传输协议。其基于UDP协议实现了可靠传输及拥塞控制,简单来说,QUIC TCP TLS。 为什么有了QUIC HTTP2.0为了为了…

知识图谱(Knowledge Graph)

知识图谱(Knowledge Graph)是一种图结构化的信息表达方式,旨在将丰富多样的知识、概念和实体之间的复杂关系以图形式表示,以便计算机系统能够理解和推理这些信息。知识图谱是人工智能和语义网技术领域的重要应用,通过构…

2193. 分配问题(网络流,费用流,二分图最优匹配)

活动 - AcWing 有 n 件工作要分配给 n 个人做。 第 i 个人做第 j 件工作产生的效益为 cij。 试设计一个将 n 件工作分配给 n 个人做的分配方案。 对于给定的 n 件工作和 n 个人,计算最优分配方案和最差分配方案。 输入格式 第 1 行有 1 个正整数 n&#xff0c…

2023年计算机视觉技术进展概览

2023年计算机视觉技术进展概览 在2023年,计算机视觉领域出现了多个标志性的进步。以下是十大突破性进展的简要概述: SAM (Segment Anything Model):由Meta AI开发的SAM成为了分割任务的基础模型,它改革了像素级分类,可…

JavaScript:require 和 import

文章目录 require()起源:语法:使用场景:加载时机:示例 import起源语法使用场景加载时机异步加载示例 require 和 import 是 JavaScript 中用于模块导入的不同语法,它们遵循不同的模块规范 require() 起源:…

MySQL 的备份方式

MySQL 的备份方式 1. 逻辑备份 逻辑备份是指将数据库中的数据导出为可读的 SQL 语句,通过这些语句可以还原数据库的结构和数据。 使用 mysqldump 工具进行逻辑备份 - **命令示例:**mysqldump -u [username] -p [database_name] > backup_file.sql- …

文档书写规范

1.文档名称:时间-发生地-文档内容高度概括 2.内容定性很重要,可以根据现象来阐述问题,少加主管判断容易出错 3.一个大标题就是一页开头 4.每个标题最好统一字数:四字方便记忆(专业感) 5.设置页数&#…

Spring中的数据校验---JSR303

介绍–什么是JSR303 JSR 303是Java中的一项规范,用于定义在Java应用程序中执行数据校验的元数据模型和API。JSR 303的官方名称是"Bean Validation",它提供了一种在Java对象级别上执行验证的方式,通常用于确保输入数据的完整性和准…

飞链云共创伙伴亮相温州大学,全国首个AIGC大学俱乐部成立!

在这个充满创新活力的时代,我们见证了一个又一个里程碑式的事件。3月3日,温州大学AIGC俱乐部的成立仪式盛大举行,这标志着全国首个AIGC大学俱乐部的诞生。更让人激动的是,飞链云AI共创伙伴——应流(广州)科…

PFA晶圆夹在半导体芯片制造中的应用

随着半导体技术的不断进步,晶圆制造作为集成电路产业的核心环节,对生产过程的精密性和洁净度要求日益提高。在众多晶圆制造工具中,PFA(全氟烷氧基)晶圆夹以其独特的材质和性能,在近年来逐渐受到业界的广泛关…

【Datawhale组队学习:Sora原理与技术实战】AIGC技术基础知识

AIGC是什么 AIGC全称叫做AI generated content,AlGC (Al-Generated Content,人工智能生产内容),是利用AlI自动生产内容的生产方式。 在传统的内容创作领域中,PGC(Professionally-generated Content,专业生…

Qt | 停靠窗口QDockWidget

QDockWidget 是 Qt 框架中的一个窗口小部件,它提供了可停靠的窗口区域,在应用程序主窗口的边缘或浮动在主窗口上层。QDockWidget 继承自 QWidget,并且可以包含其他的窗口小部件作为其内容。 QDockWidget 的主要特点如下: 支持停靠和浮动:QDockWidget 可以停靠在主窗口的…

Untiy 使用AVProVideo插件获取视频的长度

AVPro Video是Unity中一个非常流行的视频插件,可在Unity项目中实现高性能的视频播放功能,功能强大且易用。 如图所示,如果我要获取该视频的长度,方法是很简单的。 1、创建一个测试脚本: using RenderHeads.Media.AVP…

vue3+uniapp在微信小程序实现一个2048小游戏

一、效果展示 二、代码 <template><view class"page"><view class"top"><view class"score">得分:{{total}}</view><view class"time">用时:{{allTime}}s</view></view><view cl…

vue单向数据流介绍

Vue.js 的单向数据流是其核心设计原则之一&#xff0c;也是 Vue 响应式系统的基础。在 Vue.js 中&#xff0c;数据流主要是单向的&#xff0c;从父组件流向子组件。这种设计有助于保持组件之间的清晰通信&#xff0c;减少不必要的复杂性和潜在的错误。 以下是 Vue 单向数据流的…

力扣 单词搜索

判断当前单元格(r,c)的字符与字符串待匹配字符word[idx]是否匹配 如果不匹配&#xff0c;直接回退到上一个单元格与字符 如果匹配&#xff0c;搜索相邻单元格与下一个待匹配字符word[idx1] class Solution { public:int dx[5]{0,0,1,-1};int dy[5]{1,-1,0,0};int flag0;bool d…

Https SSL证书 本地化OCSP地址是什么

OCSP地址即SSL证书中的OCSP验签服务器 最近在做的一个项目上线&#xff0c;前线反馈某些地区访问网站显示白屏&#xff0c;直接影响当地用户使用。公司系统是使用公司自研专用的浏览器登录的&#xff0c;是基于早期谷歌浏览器的开源组件开发的&#xff0c;常出现谷歌访问正常而…

DataWorks(ODPS)性能优化技巧指南

使用阿里云DataWorks进行数据处理的时候&#xff0c;有时候会遇到一个sql或pyodps&#xff08;本质上还是转化为sql&#xff09;执行很长的情况&#xff0c;这个时候有必要对代码进行性能优化。 一、打开ODPS运行评估报告 一个sql脚本执行完毕后&#xff0c;在运维中心的周期…

94. 7张图掌握后端服务重构技巧

文章目录 导言一、逻辑模块重构二、存储模块重构三、逻辑与存储模块联合重构总结 原文地址&#xff1a;7张架构图掌握后端服务重构技巧 导言 随着项目发展&#xff0c;现有模块不再符合需求&#xff0c;重构后端服务必要性拉满。&#x1f468;‍&#x1f4bb; 重构过程中&am…

linux下程序启动即推出的原因定位分析过程

现象&#xff1a; 安装 todesk 的 deb包并配置 daemon 后&#xff0c;todesk无法运行.查看 程序 status 提示&#xff1a;Process: 168846 ExecStart/opt/todesk/bin/ToDesk_Service (codekilled, signalILL) 结论&#xff1a; 引发当前 todesk 启动即退出的原因是当前 CPU指…