Mysql如何优化慢查询

如何优化慢查询

慢 SQL 的优化,主要从两个方面考虑,SQL 语句本身的优化,以及数据库设计的优化。
在这里插入图片描述

1、避免不必要的列
覆盖索引会导致回表,且增大了IO
2、分页优化
深分页解决方案
使用子查询in
使用连接表 left join
使用游标,只能一页一页的翻
3、索引优化
注意索引失效的场景索引失效
4、jion优化
优化子查询
尽量使用 Join 语句来替代子查询,因为子查询是嵌套查询,而嵌套查询会新创建一张临时表,而临时表的创建与销毁会占用一定的系统资源以及花费一定的时间,同时对于返回结果集比较大的子查询,其对查询性能的影响更大
小表驱动大表
适当增加冗余字段
避免使用 JOIN 关联太多的表
5、排序优化
利用索引扫描做排序
6、union优化
MySQL 处理 union 的策略是先创建临时表,然后将各个查询结果填充到临时表中最后再来做查询,很多优化策略在 union 查询中都会失效,因为它无法利用索引
最好手工将 where、limit 等子句下推到 union 的各个子查询中,以便优化器可以充分利用这些条件进行优化
此外,除非确实需要服务器去重,一定要使用 union all,如果不加 all 关键字,MySQL 会给临时表加上 distinct 选项,这会导致对整个临时表做唯一性检查,代价很高。

链接

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

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

相关文章

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -投票帖子管理实现

锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

131基于matlab的差分进化算法优化K均值聚类问题

基于matlab的差分进化算法优化K均值聚类问题,可调整K参数得到最佳聚类结果。输出聚类可视化图和优化迭代曲线。可替换自己的数据,程序已调通,可直接运行。 131matlab差分进化算法K均值聚类 (xiaohongshu.com)

解决虚拟机的网络图标不见之问题

在WIN11中,启动虚拟机后,发现网络图标不见了,见下图: 1、打开虚拟机终端 输入“sudo server network-manager stop”,停止网络管理器 输入“cd /回车” , 切换到根目录 输入“cd var回车” ,…

一款快速稳定的漏洞扫描工具【afrog】零基础入门到精通

工具介绍 afrog 是一款快速、稳定的高性能漏洞扫描器。支持用户自定义PoC,内置CVE、CNVD、默认密码、信息泄露、指纹识别、越权访问、任意文件读取、命令执行等多种类型。通过afrog,网络安全专业人员可以快速验证和修复漏洞,这有助于增强他们…

chromedriver 114以后版本下载地址

谷歌浏览器版本经常会升级,chromedriver 也得下载匹配的版本 chromedriver 114以前版本下载地址https://registry.npmmirror.com/binary.html?pathchromedriver/ 找到匹配浏览器版本 查看自己浏览器版本号v120.0 v120.0版本chromedriver下载地址https://google…

impala元数据自动刷新

一.操作步骤 进入CM界面 > Hive > 配置 > 搜索 启用数据库中的存储通知(英文界面搜索:Enable Stored Notifications in Database),并且勾选,注意一定要勾选,配置后面的配置不生效。数据库通知的保留时间默认为2天&#…

二阶贝塞尔曲线生成弧线

概述 本文分享一个二阶贝塞尔曲线曲线生成弧线的算法。 效果 实现 1. 封装方法 class ArcLine {constructor(from, to, num 100) {this.from from;this.to to;this.num num;return this.getPointList();}getPointList() {const { from, to } thisconst ctrlPoint thi…

idea使用docker-compose发布应用程序

非常重要的话说在前头 idea要想使用docker-compose,不能使用ssh创建idea Docker,而需要使用socket创建idea Docker。 socket docker是不安全的,任何人都可以访问你的docker,所以只能测试环境使用,请勿在正式环境使用s…

RT-Thread SMP介绍与移植

SMP:(Symmetrical Multi-Processing)对称多处理,简称SMP,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。 RT-Thread自v4.0.0版本开始支持SMP&a…

超级好看的个人主页源码

源码介绍 超级好看的个人主页源码HTML,使用了 HTML、CSS 和 JavaScript 技术,带音乐播放器 需要修改什么到代码里面自行修改,记事本就可以打开,总之,这个个人主页源码非常漂亮和实用,使用了许多现代的 Web 技术来创建一个响应式、…

个人网站制作 Part 3 用JS添加高级交互(表单验证、动态内容更新) | Web开发项目

文章目录 👩‍💻 基础Web开发练手项目系列:个人网站制作🚀 使用JavaScript进行交互🔨表单验证🔧步骤 1: 添加JavaScript文件🔧步骤 2: 更新表单HTML 🔨动态内容更新🔧步骤…

API设计:从基础到最佳实践

1*vWvkkgG6uvgmJT8GkId98A.png 在这次深入探讨中,我们将深入了解API设计,从基础知识开始,逐步进阶到定义出色API的最佳实践。 作为开发者,你可能对许多这些概念很熟悉,但我将提供详细的解释,以加深你的理解…

冷风机系统的拟定和制冷循环的热力计算

一,冷风机系统的概述 单元式冷风机是一种不带加湿器的非热泵型单元式空气调节机,只能用于夏季降温,按标准 GB/T 17758-1999《单元式空气调节机组》的规定1,单元式冷风机应能使室内温度保持在(18℃-25℃)1℃,相对温度 (…

数据洞察力,驱动企业财务变革

我们不得不面对一个现实,就是数据量的剧增。加上大部分企业并不愿意删除历史数据,以防未来预测分析时需要,这造成数据就像一个雪球,越滚越大。然而,过多的数据和数据不足一样会成为企业发展和理解分析的障碍。从海量数…

Android Studio安卓读取EM4100 TK4100卡卡号源码

本示例使用的读卡器&#xff1a;https://item.taobao.com/item.htm?spma1z10.5-c.w4002-21818769070.35.44005b43nb1q2h&id562957272162 <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmln…

Python学习从0到1 day3 python变量和debug

没关系&#xff0c;这破败的生活压不住我 ——24.1.13 一、变量的定义 1.什么是量&#xff1f; 量是程序运行中的最小单元 2.什么是变量呢&#xff1f; ①变量是存储数据的容器 ②变量存储的数据时临时的&#xff0c;变量只有在程序运行过程中是有效的&#xff0c;当程序执行结…

TreesVariety

树木品种 - 树木和植物捆绑包。与“植被引擎”兼容的包装 通用和HDRP的树木包在这里 树木品种: ● 支持Unity Wind; ● 11种树木,7种植物; ● Unity树创建器树(可编辑); ● 与内置管道配合使用; ● 支持地形广告牌。 树木: ● 8棵桦树; ● 4块枫木; ● 8块橡木; ●…

第八讲 单片机驱动彩色液晶屏 控制RA8889软件:显示图片

单片机驱动TFT彩色液晶屏系列讲座 目录 第一讲 单片机最小系统STM32F103C6T6通过RA8889驱动彩色液晶屏播放视频 第二讲 单片机最小系统STM32F103C6T6控制RA8889驱动彩色液晶屏硬件框架 第三讲 单片机驱动彩色液晶屏 控制RA8889软件:如何初始化 第四讲 单片机驱动彩色液晶屏 控…

【排序篇1】插入排序、希尔排序

目录 一、插入排序二、希尔排序 一、插入排序 思路&#xff1a; 插入排序就像玩扑克牌&#xff0c;抽出一张牌作为比较的元素&#xff0c;与前面的牌依次进行比较&#xff0c;小于继续往前比较&#xff0c;大于等于停下插入到当前位置。 图示&#xff1a; void InsertSort(…

DNS域名解析以及操作流程

dns:将域名转化为IP地址的过程&#xff0c;域名方便人们记忆&#xff0c;ip地址过长&#xff0c;且都是数字&#xff0c;不方便记忆&#xff0c;所以才出现了域名。 怎么实现访问域名等于访问ip地址 1.老方法&#xff1a;写入文件里 /etc/hosts 左边 IP地址 右边域名 格式例…