我是靠谱客的博主 笨笨小懒猪,这篇文章主要介绍MySQL高级——Explain详解,现在分享给大家,希望可以做个参考。

目录

    • 一、Explain是什么(查看执行计划)
    • 二、Explain能干什么
    • 三、Explain怎么用

一、Explain是什么(查看执行计划)

  • 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是
    如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈
  • 官网介绍:https://dev.mysql.com/doc/refman/5.5/en/explain-output.html
  • 在这里插入图片描述

二、Explain能干什么

  • 表的读取顺序
  • 数据读取操作的操作类型
  • 哪些索引可以使用
  • 哪些索引被实际使用
  • 表之间的引用
  • 每张表有多少行被优化器查询

三、Explain怎么用

1、建库、建表、表中新增数据

  • 新建一个名字为test1的数据库名称,初始化4张表分别为t1,t2,t3,t4,并且每张表新增一条数据,sql语句和截图如下:

    复制代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE t1(id INT(10) AUTO_INCREMENT,content VARCHAR(100) NULL , PRIMARY KEY (id)); CREATE TABLE t2(id INT(10) AUTO_INCREMENT,content VARCHAR(100) NULL , PRIMARY KEY (id)); CREATE TABLE t3(id INT(10) AUTO_INCREMENT,content VARCHAR(100) NULL , PRIMARY KEY (id)); CREATE TABLE t4(id INT(10) AUTO_INCREMENT,content VARCHAR(100) NULL , PRIMARY KEY (id)); INSERT INTO t1(content) VALUES(CONCAT('t1_',FLOOR(1+RAND()*1000))); INSERT INTO t2(content) VALUES(CONCAT('t2_',FLOOR(1+RAND()*1000))); INSERT INTO t3(content) VALUES(CONCAT('t3_',FLOOR(1+RAND()*1000))); INSERT INTO t4(content) VALUES(CONCAT('t4_',FLOOR(1+RAND()*1000)));

    在这里插入图片描述在这里插入图片描述

2、Explain语法

  • Explain + SQL语句
    在这里插入图片描述

  • 显示出执行计划包含的信息
    在这里插入图片描述

最后

以上就是笨笨小懒猪最近收集整理的关于MySQL高级——Explain详解的全部内容,更多相关MySQL高级——Explain详解内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部