我是靠谱客的博主 笨笨小懒猪,最近开发中收集的这篇文章主要介绍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语句和截图如下:

     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详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部