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

MySQL使用EXPLAIN命令查看SQL的执行计划

1‌、EXPLAIN 的语法

MySQL 中的 EXPLAIN 命令是用于分析 SQL 查询执行计划的关键工具,它能帮助开发者理解查询的执行方式并找出性能瓶颈‌‌。

语法格式:

EXPLAIN <sql语句>

【示例】查询学生表关联班级表的执行计划。

(1)创建班级信息表和学生信息表,并创建索引和添加数据

-- 创建数据库
CREATE DATABASE IF NOT EXISTS db_school;-- 使用数据库
USE db_school;-- 创建数据表:tbl_class(班级信息表)
DROP TABLE IF EXISTS tbl_class;
CREATE TABLE IF NOT EXISTS tbl_class
(class_id BIGINT(20) AUTO_INCREMENT PRIMARY KEY COMMENT '班级ID',class_name VARCHAR(50) NOT NULL COMMENT '班级姓名'
) COMMENT = '班级信息表';-- 创建数据表:tbl_student(学生信息表)
DROP TABLE IF EXISTS tbl_student;
CREATE TABLE IF NOT EXISTS tbl_student
(student_id BIGINT(20) AUTO_INCREMENT PRIMARY KEY COMMENT '学生ID',student_name VARCHAR(50) NOT NULL COMMENT '学生姓名',class_id BIGINT(20) NOT NULL COMMENT '班级ID'
) COMMENT = '学生信息表';
SELECT * FROM tbl_student;-- 创建索引(普通索引)
CREATE INDEX idx_class_id ON tbl_student(class_id);-- 创建数据:tbl_class(班级信息表)
TRUNCATE TABLE tbl_class;
INSERT INTO tbl_class(class_name) VALUES('高一(1)班');
INSERT INTO tbl_class(class_name) VALUES('高二(2)班');
SELECT * FROM tbl_class;-- 创建数据:tbl_student(学生信息表)
TRUNCATE TABLE tbl_student;
INSERT INTO tbl_student(student_name,class_id) VALUES('张三', 1);
INSERT INTO tbl_student(student_name,class_id) VALUES('李四', 1);
INSERT INTO tbl_student(student_name,class_id) VALUES('王五', 1);
INSERT INTO tbl_student(student_name,class_id) VALUES('孙六', 2);
INSERT INTO tbl_student(student_name,class_id) VALUES('赵七', 2);
SELECT * FROM tbl_student;

(2)使用 EXPLAIN 命令,查看执行计划

-- 使用 EXPLAIN 命令,查看执行计划
EXPLAIN 
SELECT * FROM tbl_student
LEFT JOIN tbl_class ON tbl_student.class_id
http://www.xdnf.cn/news/1033453.html

相关文章:

  • 13.20 LangChain多链协同架构实战:LanguageMentor实现67%对话连贯性提升
  • [每周一更]-(第144期):Go 定时任务的使用:从基础到进阶
  • mysql 创建大写字母的表名失败
  • HarmonyOS 组件复用 指南
  • React中使用Day.js指南
  • ABC410 : F - Balanced Rectangles
  • MIB 树的来源与实现深度解析
  • 计算机网络学习笔记:运输层概述UDP、TCP对比
  • Arduino入门教程​​​​​​​:4、打印字符到电脑
  • 疫菌QBD案例
  • Gartner《Build Scalable Data Products With This Step-by-Step Framework》学习报告
  • Linux系统安装MongoDB 8.0流程
  • 树莓派智能小车红外避障实验指导书
  • 当遇到“提交失败:404”的问题时,通常表明前端请求的URL无法正确匹配到后端的Servlet或资源。
  • 区间合并:区间合并问题
  • 前端与协议
  • 掌握应用分层:高内聚低耦合的艺术
  • 闲鱼与淘宝跨平台运营的自动化趋势
  • java 设计模式_行为型_17观察者模式
  • 【游资悟道】陈小群成长历史与股市悟道心法
  • Java面向对象this关键字和static关键字
  • Python 爬虫入门 Day 3 - 实现爬虫多页抓取与翻页逻辑
  • android关于native中Thread类的使用
  • Linux 系统目录结构概述-linux024
  • Tauri(2.5.1)+Leptos(0.8.2)开发自用桌面小程序
  • 系统设计基本功:理解语义
  • 【Linux】Linux多路复用-epoll
  • MapReduce技术详解
  • 软件工程的相关名词解释
  • 【力扣 简单 C】141. 环形链表