Java学习 - MySQL常用性能优化 + Explain查看执行计划

常用性能优化方式

  • 服务器硬件优化:加机器,加内存
  • MySQL服务器优化:更改参数,增加缓冲等等
  • SQL本身优化:减少子查询,减少连接查询的使用
  • 反范式设计优化:为了减少连接查询使用,可以允许适量数据冗余,使用空间换时间
  • 物理设计优化:
    • 选择更好的数据类型:数值 > 时间日期 > 字符类型;同级别数据类型,优先选择占用空间少的数据类型
    • 选择合适的存储引擎:MyiSAM和Memory的性能都比InnoDB要好
  • 添加索引优化

SQL执行加载顺序

  • 人写
SELECT
FROM
JOIN ON
WHERE
GROUP BY
HAVING
ORDER BY
LIMIT
  • 机读
FROM
JOIN ON
WHERE
GROUP BY
HAVING
SELECT
ORDER BY
LIMIT

Explain查看执行计划

Explain是什么
  • Explain是MySQL自带的查看SQL执行计划工具,能够知道MySQL是怎样处理SQL语句的
Explain使用
  • 语法

    explain SQL语句
    
  • 例子

    explain SELECT * FROM user;
    
Explain结果分析
字段说明
idid相同为一组,从上往下执行;id越大组的优先级越高
select_type查询的类型;
SIMPLE:简单查询,
PRIMARY:子查询中最外层查询,
SUBQUERY:子查询中内层查询,
DERIVED:产生的临时表,
UNION:联合查询,
UNION RESULT:联合查询的结果集
table数据来源的表
type访问类型;
性能为:system > const > eq_ref > ref > range(至少) > index > ALL
possible_keysSQL执行过程中可能使用到的索引
keySQL执行过程中实际使用到的索引
key_lenSQL执行过程中实际使用到的索引占用的字节数
它是计算出来的,并非实际使用长度
ref显示索引中哪一列被使用了
rowsSQL执行过程中实际读取的行数
Extra包含十分重要,但不方便在表格中显示的内容
Using filesort
Using temporary
Using index
Using where
Using join buffer
impossible where
select tables optimized away
distinct

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

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

相关文章

同三维TT806-1 USB单路网络视频流/U盘采集卡

同三维TT806-1 USB单路网络视频流/U盘采集卡 (1路网络音视频信号或U盘直播推流器) 支持采集1路网络视频流或U盘音视频信号,USB输出到电脑 同时还可流推2个直播平台,可设置6组定时推流,有线网络 可录像到U盘,支持定时录像 一…

05 部署YUM软件仓库

5.1部署YUM软件仓库 5.1.1准备网络安装源 YUM软件仓库通常借助于HTTP或FTP协议来发布,这样可以面向网络中的所有客户机提供软件源服务。 1.准备软件仓库目录 在Center 7 系统的安装光盘中,已针对软件目录Packages建立好repodata数据,因此…

input标签删除文件之后再次上传同一文件无法触发change

HTML<input type"file" accept".pdf" id"upload-btn" />jsdocument.getElementById(upload-btn).addEventListener(change, function (e) {const file e.target.files[0]; }); 修改&#xff1a; //删除文件document.querySelector(#demo…

Web前端仿项目:探索实践之路

Web前端仿项目&#xff1a;探索实践之路 在Web前端领域&#xff0c;仿项目是一种常见且有效的学习方式。通过模仿已有的项目&#xff0c;我们可以深入了解前端技术的实际应用&#xff0c;提升自己的实践能力。然而&#xff0c;如何有效地进行Web前端仿项目&#xff0c;却是一个…

【向量检索】之向量数据库Milvus,Faiss详解及应用案例

Reference https://www.modb.pro/db/509268 笔记︱几款多模态向量检索引擎&#xff1a;Faiss 、milvus、Proxima、vearch、Jina等 - 知乎 (zhihu.com) 向量数据库入坑指南&#xff1a;聊聊来自元宇宙大厂 Meta 的相似度检索技术 Faiss - 苏洋的文章 - 知乎 常用的三种索引方…

shiny实现点击跳转下一个标签栏

在 Shiny 应用中实现点击按钮跳转到下一个标签栏&#xff0c;可以使用 shiny 的内置函数 updateTabsetPanel 来控制标签栏的切换。以下是一个简单的示例代码&#xff0c;演示了如何通过点击按钮来跳转到下一个标签栏&#xff1a; library(shiny)ui <- fluidPage(titlePanel…

fastapi修改docs文档页面favicon.ico图标

如下图&#xff0c;文档页面默认使用的是tiangolo大神的Logo 如果打开的标签比较多&#xff0c;就不好区分了&#xff0c;想要修改这个logo&#xff0c;可以用fastapi-cdn-host一行代码搞定 fastapi_cdn_host.patch_docs(app, favicon_url/static/logo.png) 例如&#xff1a;…

macbook pro 鼠标键 导致键盘失灵

问题 关闭鼠标键之后 所有键盘还是不可用&#xff08;开关机键除外&#xff09; 解决 开机按住commands进入单用户模式exit重启电脑

react-2 jsx的学习

1.什么是JSX&#xff1f; 概念&#xff1a;JSX就是Javascript和XML&#xff08;HTML&#xff09;的缩写&#xff0c;表示在js代码中编写HTML模板结构&#xff0c;它是React中编写UI模板的方式&#xff0c;如下图就是jsx: 优势&#xff1a;1.HTML的声明式模板写法&#xff1b;…

IDEA GIt 提交提示 “Contents are identica“

当前问题的描述 IDEA 中使用 Git 提交代码时候, 会发现出现在变动列表只用, 文件本身是蓝色的, 也代表文件有改变&#xff0c;但比较上一次的版本和本地版本是一致的, 显示 no difference 并且显示 Contents are identica, 即内容无改变, 但是文件还是蓝色的; 此时拉取代码, 如…

铠侠全面复产:NAND价格还会涨吗?

近期&#xff0c;日本经济新闻&#xff08;Nikkei&#xff09;报道指出&#xff0c;经历长达20个月的产能削减后&#xff0c;全球第四大三维NAND闪存制造商铠侠已全面恢复生产。这一转变不仅标志着铠侠再次全力投入到市场份额的争夺中&#xff0c;也可能预示着闪存市场价格即将…

MySQL-DML-约束

079-对表中数据进行增删改 DML语句 当我们对表中的数据进行增删改的时候,称它为DML语句。(数据操纵语言),主要包括:insert、delete、update insert 增 语法格式: insert into 表名(字段名1,字段名2,字段名3,...) values(值1,值2,值3,...);表名后面的小括号当中的字段…

网络流量轮廓

示例场景 假设你是一个公司网络管理员&#xff0c;负责维护和监控公司内部网络的安全和性能。你的任务是确保网络流量正常&#xff0c;没有异常行为&#xff0c;同时优化网络资源分配。 数据采集 你使用网络流量监控工具&#xff08;如Wireshark、NetFlow等&#xff09;来收…

Unity URP下通过相机让部分Render不受后处理渲染

我们有时候不想某些对象受到后处理影响&#xff0c;找到了这样一个决绝办法&#xff0c;通过增加一个Overlay相机只照射这个模型来实现&#xff0c;下面看看如何实现。 第一步 首先我们拖一个测试场景&#xff0c;有如下一些元素 一个盒子&#xff0c;以后后处理&#xff0c…

docker部署dm数据库

官方文档参考 官网地址&#xff1a;https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html 下载镜像地址 docker部署 1、加载镜像 docker load -i dm8_20240613_x86_rh6_64_rq_ent_8.1.3.140_pack5.tar使用docker images&#xff0c;查看镜像和镜像标签…

HuggingFace烧钱做了一大批实验,揭示多模态大模型哪些trick真正有效

构建多模态大模型时有很多有效的trick&#xff0c;如采用交叉注意力机制融合图像信息到语言模型中&#xff0c;或直接将图像隐藏状态序列与文本嵌入序列结合输入至语言模型。 但是这些trick为什么有效&#xff0c;其计算效率如何&#xff0c;往往解释得很粗略或者或者缺乏充分…

Android开发系列(三)Jetpack Compose 之TextField

TextField 是一个用于接收用户输入的UI组件。它是Jetpack Compose中的一部分&#xff0c;可以方便地实现用户文本输入的功能。 TextField 允许用户输入一个或多个文本行&#xff0c;可以用于接收用户的文本输入、搜索等操作。它提供了一些常用的功能&#xff0c;如输入验证、键…

第三方仓库WMS仓储管理系统智能库存预警解决方案

在当今竞争激烈的物流市场中&#xff0c;第三方仓库扮演着连接供应链各环节的关键角色。面对不断变化的客户需求和日益严格的市场要求&#xff0c;如何提升仓库管理水平、优化库存结构、降低运营成本&#xff0c;成为了第三方仓库管理者必须面对的重要课题。在这一背景下&#…

开展“安全生产月”活动向媒体投稿的好方法找到了

作为一名单位的信息宣传员,我的职责是确保每一次重要活动的声音都能准确无误地传达到社会的每一个角落。在这样的使命驱动下,我曾一度陷入了一种传统的投稿模式——依赖电子邮件,将精心准备的稿件一封封地发送给各大媒体。初入此行,我满心以为这便是信息传播的路径,却未料到,这…

QT day4(对话框 事件机制)

1&#xff1a;思维导图 2&#xff1a; #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);ui->setupUi(this);//去除头部this->setWindowFlag(Qt::Frameles…