MySQL慢查询优化

2023-11-04

目录

优化方式

sql语句优化

索引优化

explain分析执行计划

show profile分析SQL

trace分析优化器执行计划

通过慢查询日志定位那些执行效率低的SQL语句

MySQL大分页查询问题


一文详解MySQL各种锁及MVCC的使用场景及原理

MySQL索引优化

Mysql日期格式转化问题


优化方式

sql语句优化

  • 尽量避免使用子查询而使用连接查询
  • 缩小查找范围,读取适当的记录LIMIT M,N,而不要读多余的记录
  • 优化group by,如果对group by语句的结果没有排序要求,要在语句后面加 order by null(group 默认会排序)
  • 尽量让group by过程用上表的索引
  • ......

索引优化

  • 尽量避免索引失效(Q27)
  • 尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致))
  • SQL 执行计划 explain 中的 type:至少要达到 range 级别,要求是 ref 级别,如果可以是 consts 最好

explain分析执行计划

主要关注两个参数:

  • select_type: SIMPLE>PRIMARY>SUBQUERY>DERIVED>UNION>UNION RESULT
  • type: NULL>system>const>eq_ref>ref>range>index>ALL

show profile分析SQL

能够在做SQL优化时帮助我们了解时间都耗费在什么地方

trace分析优化器执行计划

MySQL5.6提供对SQL的追踪trace,通过trace文件能够进行近一步了解优化器执行的计划,以及sql解析的语句

通过慢查询日志定位那些执行效率低的SQL语句

MySQL大分页查询问题

  • 通过使用覆盖索引查询返回需要的主键,再根据主键关联原表获得需要的数据;
  • 设置唯一自增id,where id 取当页的最后一个id作为下一个页的起始条件
  • 采用 ElasticSearch 作为搜索引擎(倒排索引)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL慢查询优化 的相关文章

随机推荐

  • Python 23.opencv 单对象模板匹配

    import cv2 import numpy as np from matplotlib import pyplot as plt img cv2 imread lane jpg 0 img2 img copy template cv2
  • STM32F030 多通道ADC DMA采集

    利用STM32F030C8T6的PA0和PA1引脚来进行两通道ADC采集 通过DMA方式 直接上代码 1 ADC的GPIO引脚配置 void ADC GPIO Config void GPIO InitTypeDef GPIO InitSt
  • 相机旋转 缩放效果 模型整体展示 部分展示

    using UnityEngine using System Collections using System Collections Generic using DG Tweening using UnityEngine EventSys
  • 修改Android镜像文件 ramdisk.img、system.img、userdata.img获取root权限

    首先 介绍一下这三个文件 ramdisk img 是你make android源代码后 生成的 out target product generic root目录下经过打包压缩而成的 system img 是你make android源代码
  • JavaWeb项目导致Linux服务器CPU过高的解决方案

    最近我部署在centos7上的一个项目出现了CPU达到了100 的状态 导致项目崩溃 起初没重视 直接重启项目解决 后面项目运行了几天服务器又报警100 了 这个时候我才意识到项目问题的严重性 然后开始查找原因 查看数据库连接池 发现数据库
  • 关于class.getResourceAsStream() 与class.getClassLoader().getResourceAsStream()区别

    首先用类加载资源文件的方式可以有以下三种 包结构图 1 InputStreaminStream DaoFactory class getResourceAsStream dao properties 2 inStream DaoFactor
  • ES6模块化及webpack配置

    前端使用的一个模块打包工具 https webpack js org webpack安装 安装 node npm 因为webpack是基于node开发的 通过 npm yarn 的方式来安装 webpack 安装方式 全局安装 npm in
  • Linux C++ 网络编程基础(2) : TCP多线程一个server对应多个client

    目录 一 linux posix线程相关函数介绍 二 tcp server基础版本 三 tpc服务端多线程版本 四 tpc客户端代码 tcp编程时 一个server可以对应多个client server端用多线程可以实现 linux下多线程
  • bash_profile和.bashrc的区别

    1 etc profile 此文件为系统的每个用户设置环境信息 当用户第一次登录时 该文件被执行 并从 etc profile d目录的配置文件中搜集shell的设置 2 etc bashrc 为每一个运行bash shell的用户执行此文
  • Java中关于thread的停止问题

    stop Deprecated public final void stop Throwable obj 已过时 该方法具有固有的不安全性 请参阅 stop 以获得详细信息 该方法的附加危险是它可用于生成目标线程未准备处理的异常 包括若没有
  • DES加密Delphi、C#互通(CBC加密模式)

    Delphi 目录 https blog csdn net dkbnull article details 87935698 unit Unit1 interface uses Windows Classes SysUtils Dialog
  • Docker实战-编写Dockerfile

    一 编译镜像 1 编译镜像 Dockerfile类似于Makfile 用户使用docker build就可以编译镜像 使用该命令可以设置编译镜像时使用的CPU数量 内存大小 文件路径等 语法 docker build OPTIONS PAT
  • 初学Spring框架

    Spring 是一个java 项目开发的框架技术 所谓框架可以看成一个项目的半成品 已经具备了一个项目项目的基本骨架部分 需要自己实现一些具体的内容 Spring官网 初学Spring框架 Spring Framework 简介 IoC 入
  • Unity实战篇:讨论动画过程和计算伤害之间的关系

    在开发游戏的时候 我们会遇到这样的需求 当人物的攻击落到敌人身上时 播放特效 声效 产生伤害 等等一系列要求 那么我们要怎么实现呢 先了解一下怎么添加动画帧事件 https blog csdn net qq 15020543 article
  • Matlab学习5-图像处理之图像乘法、除法、边缘检测

    Matlab学习5 图像处理之逻辑运算 图像乘法 除法 边缘检测 1 图像乘法 效果 代码 图像相乘 img1 imread img rice png img2 imread img F4 11b MASK bmp img3 immulti
  • 【Getting Started with LLVM Core Libraries】P30 3.4 实验 使用独立工具

    LLVM学习笔记 Getting Started with LLVM Core Libraries P30 3 4 实验 使用独立工具 我们来看一个由分散在多个源文件中的函数组成的简单的C程序 但是 我们使用独立工具也可以获得相同的结果 为
  • 重定向爬虫和多线程爬虫

    前言 重定向爬虫是指在抓取网页时 如果目标网站内部存在重定向机制 即当你访问一个网页时 服务器会把你重定向到另一个目标网页 重定向爬虫可以帮助我们发现这种重定向链接 从而更有效地抓取目标网站的内容 要实现重定向爬虫 你需要在爬虫代码中添加重
  • 【云原生进阶之PaaS中间件】第一章Redis-1.2数据类型

    1 Redis 数据类型 Redis支持五种数据类型 string 字符串 hash 哈希 list 列表 set 集合 及zset sorted set 有序集合 1 1 String 字符串 string是redis最基本的类型 你可以
  • GridView横向滚动

    GridView和ListView都是android比较重要的控件 但是横滚的控件不是太多 这里介绍怎么把GridView横向滚动起来 看到其他网友也有相应的解决方法 自己只是把这些知识总结一下 供大家参考 首先让GridView横向滚动需
  • MySQL慢查询优化

    目录 优化方式 sql语句优化 索引优化 explain分析执行计划 show profile分析SQL trace分析优化器执行计划 通过慢查询日志定位那些执行效率低的SQL语句 MySQL大分页查询问题 一文详解MySQL各种锁及MVC