mysql describe_mysql8 参考手册--EXPLAIN、DESCRIBE语句

2023-11-07

{EXPLAIN | DESCRIBE | DESC}

tbl_name [col_name | wild]

{EXPLAIN | DESCRIBE | DESC}

[explain_type]

{explainable_stmt | FOR CONNECTION connection_id}

{EXPLAIN | DESCRIBE | DESC} ANALYZE select_statement

explain_type: {

FORMAT = format_name

}

format_name: {

TRADITIONAL

| JSON

| TREE

}

explainable_stmt: {

SELECT statement

| TABLE statement

| DELETE statement

| INSERT statement

| REPLACE statement

| UPDATE statement

}

DESCRIBE和 EXPLAIN语句是同义词。实际上,DESCRIBE关键字通常用于获取有关表结构的信息,而EXPLAIN用于获取查询执行计划(即,有关MySQL如何执行查询的说明)。

获取表结构信息

DESCRIBE 提供有关表中列的信息:

mysql> DESCRIBE City;

+------------+----------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+------------+----------+------+-----+---------+----------------+

| Id | int(11) | NO | PRI | NULL | auto_increment |

| Name | char(35) | NO | | | |

| Country | char(3) | NO | UNI | | |

| District | char(20) | YES | MUL | | |

| Population | int(11) | NO | | 0 | |

+------------+----------+------+-----+---------+----------------+

DESCRIBE是的快捷方式 SHOW COLUMNS。这些语句还显示视图信息。的说明 SHOW COLUMNS提供了有关输出列的更多信息。请参见 第13.7.7.5节“ SHOW COLUMNS语句”。

默认情况下,DESCRIBE显示有关表中所有列的信息。 colname(如果给出)是表中列的名称。在这种情况下,该语句仅显示有关命名列的信息。 wild(如果给出)是模式字符串。它可以包含SQL %和通配符。在这种情况下,该语句仅显示名称与字符串匹配的列的输出。除非字符串包含空格或其他特殊字符,否则无需将其用引号引起来。

DESCRIBE提供 该语句是为了与Oracle兼容。

的SHOW CREATE TABLE, SHOW TABLE STATUS和 SHOW INDEX语句也可以提供有关表的信息。请参见第13.7.7节“ SHOW语句”。

获取执行计划信息

该EXPLAIN语句提供有关MySQL如何执行语句的信息:

EXPLAIN作品有 SELECT, DELETE, INSERT, REPLACE,和 UPDATE语句。在MySQL 8.0.19和更高版本中,它也可用于 TABLE语句。

当EXPLAIN与可解释的语句一起使用时,MySQL将显示来自优化器的有关语句执行计划的信息。也就是说,MySQL解释了它将如何处理该语句,包括有关如何连接表以及以何种顺序连接表的信息。有关 EXPLAIN用于获取执行计划信息的信息,请参见第8.8.2节“ EXPLAIN输出格式”。

当EXPLAIN与FOR CONNECTION CONNECTION\u id一起使用而不是可解释的语句时,它将显示在命名连接中执行的语句的执行计划。

对于可解释的语句, EXPLAIN生成可以使用来显示的其他执行计划信息 SHOW WARNINGS。

EXPLAIN对于检查涉及分区表的查询很有用。

该FORMAT选项可用于选择输出格式。TRADITIONAL以表格格式显示输出。如果不FORMAT存在任何选项,则为默认设置 。 JSONformat以JSON格式显示信息。在MySQL 8.0.16和更高版本中, TREE提供了类似于TRADITIONAL格式的树状输出,其中对查询处理的描述更为精确 。它是唯一显示哈希联接用法的格式(请参见 第8.2.1.4节“哈希联接优化”),并且始终用于 EXPLAIN ANALYZE。

EXPLAIN需要对所 SELECT访问的任何表或视图(包括视图的任何基础表)具有特权。对于视图,EXPLAIN还需要 SHOW VIEW特权。 如果指定的连接属于其他用户,则EXPLAIN ... FOR CONNECTION还需要 PROCESS特权。

在的帮助下EXPLAIN,您可以看到应该在表中添加索引的位置,以便通过使用索引查找行来使语句更快地执行。您还可以 EXPLAIN用来检查优化器是否以最佳顺序联接表。要提示优化器使用连接顺序,该连接顺序与SELECT语句中表的命名顺序相对应,请以 SELECT STRAIGHT_JOIN而不是just 开头SELECT。

优化程序跟踪有时可能提供与补充的信息EXPLAIN。但是,优化程序的跟踪格式和内容在版本之间可能会发生变化。有关详细信息,请参见 MySQL内部:跟踪优化器。

如果您在认为应该使用索引时遇到问题,请运行ANALYZE TABLE以更新表统计信息,例如键的基数,这可能会影响优化器的选择。

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

mysql describe_mysql8 参考手册--EXPLAIN、DESCRIBE语句 的相关文章

  • 湖南2020年计算机等级考试报名时间,2020年湖南12月计算机等级考试报名时间:11月7日—10日...

    摘要 备考了一段时间 终于要检验自己的学习成果了 考必过小编为大家整理了关于 2020年湖南12月计算机等级考试报名时间 11月7日 10日 的信息 希望可以帮助到大家 下面我们就一起来看下 2020年湖南12月计算机等级考试报名时间 11
  • ETL抽取工具informatica powercenter designer实例(一)

    一 安装配置 安装好Informatica 首先 需配置一下修改配置文件路径为 地址 C Windows System32 drivers etc 将 10 10 23 112 BIEE 复制到后面 注 第二个ip地址哪里 要在hots文件
  • Python将图片转换成二进制的.txt文件

    from PIL import Image im Image open 0 00 png 图像路径 width im size 0 height im size 1 fh open 1 txt w 转换成的txt文件 for i in ra
  • 2023JavaWeb面试问答_Spring

    使用 Spring 框架的好处是什么 轻量 Spring 是轻量的 基本的版本大约 2MB 控制反转 Spring 通过控制反转实现了松散耦合 对象们给出它们的依赖 而不是创建或查找依赖的对象们 面向切面的编程 AOP Spring 支持面
  • Linux系统:ulimit命令

    目录 一 理论 1 ulimit命令 二 实验 1 打开的最大文件描述符的数量为65535 一 理论 1 ulimit命令 1 概念 ulimit是一个计算机命令 用于shell启动进程所占用的资源 可用于修改系统资源限制 限制每个用户可使
  • Spring Security在前端后端分离项目中的使用

    Spring Security 是 Spring 家族中的一个安全管理框架 可以和Spring Boot项目很方便的集成 Spring Security框架的两大核心功能 认证和授权 认证 验证当前访问系统的是不是本系统的用户 并且要确认具
  • H5 调用扫一扫识别条形码 并返回内容值

  • 计算机网路课程设计——电子邮件客户端的设计与实现——接收邮件(POP3协议)

    上一篇已经写了SMTP发送邮件客户端的代码 https blog csdn net dayexiaofan article details 85257320 这一篇我们来写一下POP3接收方的代码 注意这里的密码也是授权码 看代码 如果你能
  • React、Vue和Angular的优缺点

    React React 是一个用于构建用户界面的 JAVASCRIPT 库 React 主要用于构建 UI 很多人认为 React 是 MVC 中的 V 视图 React 起源于 Facebook 的内部项目 用来架设 Instagram
  • 数组的定义与使用

    一 数组的基本用法 1 什么是数组 数组本质上就是让我们能 批量 创建相同类型的变量 如果我们需要创建一个数据 int a 需要创建两个数据 int a int b 需要创建三个数据 int a int b int c 那如果要创建100万
  • 第五章:存储系统和结构

    5 1存储系统的组成 存储器的分类 1 按存储器在计算机系统中的作用分类 高速缓冲存储器 主存储器 辅助存储器 2 按存取方式分类 随机存取存储器RAM 只读存储器ROM 顺序存取存储器SAM 直接存取存储器DAM 3 按存储介质分类 磁芯
  • 【VScode设置免密登录及出现的问题】

    前言 使用VScode进行远程服务器代码调试时 每次都要输入密码 很麻烦 有木有 之前的操作请看 安装并使用VScode进行远程服务器代码调试及遇到的问题和解决办法 一 打开终端 登录上之后 创建一个新的终端 二 创建公钥和私钥 命令如下
  • Attention! No symbol directories found - please check your native debug configuration</font>

    我出现问题的版本是Android Studio2 2 3 之前项目是正常的 可以调试JNI代码 但是突然有一次不知道什么原因就无法调试 断点无法断下 调试时有这样的警告 Now Launching Native Debug Session
  • java进阶篇--TCP 为什么需要三次握手?

    TCP 协议是我们每天都在使用的一个网络通讯协议 因为绝大部分的网络连接都是建立在 TCP 协议上的 比如你此刻正在看的这篇文章是建立在 HTTP Hypertext Transfer Protocol 超文本传送协议 应用层协议的基础上的
  • 手把手教你微信第三方平台开发

    本文适合想接入第三方平台开发的同学 通过真实经验大致讲解一下相关业务 建议收藏以备不时之需 一 什么是微信开放平台 微信开放平台地址 微信开发平台实际上就是给微信外部人员提供微信能力的平台 我们可以在这个平台创建相关的应用 管理对应的认证
  • React服务端渲染框架Next.js入门之旅三:路由跳转和参数传递

    不带参数 静态路由 带参数 根据参数不同显示不同内容 动态路由 一 路由跳转 标签式跳转 在pages下新建juanA js以及juanB js作为两个跳转页面 juanA js import Link from next link exp
  • Vue => Vue监听组件滚动事件

    在dom元素上加ref 利用this refs recordwrapper获取到元素 添加滚动监听事件 希望得到的结果是滚动触发事件handleScroll 现在情况是失效 并没有监听到滚动动作 或者说滚动动作并没有出发事件 问题 监听事件
  • hadoop之hdfs分布式文件

    架构 HDFS是一个主从 Master Slaves 架构 由一个NameNode和一些DataNode组成 面向文件包含 文件数据 data 和文件元数据 metadata NameNode 负责存储和管理文件元数据 并维护了一个层次型的
  • 动态的为实体字段添加注解/注解属性

    可以动态的给实体添加注解 比如 导出表格的时候 根据条件决定是否导出该字段的列等使用 本例子将所有代码都放入工具类中 实际上有些不能实例化到内存中 只能作为一部分代码放在逻辑中 此种代码以再程序中标注 另一部分是可以持久化到内存 使用完工具

随机推荐

  • 移动端750怎么做响应式

    minimum scale 1 0 这个是同时设置最小缩放比例为1 0 在这里不写 user scalable no 禁用用户缩放功能 这样做的目的是为了确保网页在各种设备上都能够有合适的展示效果 缩放比例的限制可以避免用户过度缩放导致页面
  • JAVA IDEA中sout无法正常弹出,System.out.print,和System.out.println以及其他语句标红报错的问题。

    问题 在写代码时发现sout无法正常识别 println方法和println方法标红报错显示无法解析 问题分析 使用输出函数属于代码 而类中只能容纳变量以及方法 代码应该放在代码块 即方法 中 解决方法 在类中写一个方法 将代码放入方法中
  • macOS下 anaconda 虚拟环境及依赖包管理

    文章目录 环境管理 适用mac 1 2 创建虚拟环境失败后 排查问题 并再次成功创建虚拟环境的过程 依赖包管理 环境管理 适用mac 检查conda版本或是否已经安装 base lzh mac conda version conda 4 1
  • Yolo5の网络结构训练策略

    搬来的可能还是熟人的 抱歉啊 为了自己学习 讲解yolov5模型结构 数据增强 以及训练策略 官方地址 https github com ultralytics yolov5 yolov5模型训练流程 https blog csdn net
  • qt 编译时提示error: multiple definition of

    今天在用QT 5 4 1 编译程序时 提示error multiple definition 错误 以下红色字体为错误提示 D Wind PLT Projects BCS tmp moc Cntrlane cpp 156 error mul
  • 《Graph learning》

    上周发布的 图传播算法 上 中讲了关于图传播算法的基本范式和PageRank算法 本文将延续上周的文章 继续讲解剩下的三个算法 2 HITS HITS Hyperlink Induced Topic Search 另一个典型的图传播算法 其
  • 图形用户界面工具:Tkinter库

    Tkinter是Python默认的图形用户界面 Graphical User Interface GUI 库 Tkinter是T看interface 的缩写 意为Tkinter库是 Tkinter Tcl Tk的pathon接口 Tk它基于
  • 1.GAN生成mnist

    1 GAN Generative Adversarial Network 2 生成器 随机生成一个一维的100个随机数 latent dim 作为输入生成mnist图片 def build generator self model Sequ
  • matlab怎么定义矩阵变量_MATLAB01:基本的数学运算与矩阵运算

    若微信排版有问题 请点击阅读原文查看 MATLAB01 基本的数学运算与矩阵运算 MATLAB基本语法变量变量名保留变量不适合做变量名变量不应当覆盖内置函数变量类型数字型变量的显示格式MATLAB命令行使用MATLAB进行数字运算使用MAT
  • 【C语言】之实现大小写字母转换

    文件名 字母大小写转换 c 功能描述 输入一个字符判断其是否为字母 如果是字母则将大写转换为小写或将小写转换为大写 编写人 王廷云 编写日期 2017 1 10 include
  • Unreal Engine UE4虚幻引擎,生成Cubemap(HDR高动态范围贴图)

    1 在场景中添加Scene Capture Cube场景捕获立方体 2 在Scene Capture Cube细节面板中创建 Cube Render Target 立方体渲染目标 打开创建的 Cube Render Target 立方体渲染
  • Docker 学习笔记(九)-- Dockerfile 构建Tomcat 实战测试

    1 准备镜像文件 Tomcat 压缩包 Apache Tomcat Welcome 依赖的 JDK 压缩包 Java Downloads Oracle https www aliyundrive com s YzH6o5G5QUu 下载 后
  • osg环境搭建与使用

    目录 环境安装 案例一 案例二 案例三 案例四 我的vs2022 window11 环境安装 看这个文章即可 博客很详细 按照这个没问题的 5条消息 OSG OSG环境部署 OSG3 6 5 vs2017 win10 x64 超详细 osg
  • 调用EAS单据转换规则(BOTP),生成下游单据

    代码调用单据转换规则 生成下游单据 调用BOTP生成下游单据 用于后台 param ctx 上下文 param sourceType 源单类型 param destType 目标单据类型 param sourceColl 源单集合 para
  • NER问题的模型训练5种相关提升tricks

    NER问题的模型训练5种相关提升tricks 一 cMedQANER数据集介绍 用于医疗领域的命名实体识别任务 实体标签 physiology test disease time drug symptom body department c
  • 快速实现M5311 NBIOT TCP通信

    M5311作为TCP Client和Server通信 一 本例程实现功能 二 Core提供的TCP功能介绍 三 接线图 五 完整代码 前言 虽然在如今的物联网开发中 像MQTT COAP这些专门为了物联网而诞生的协议逐渐成为主流 但其实TC
  • 【VMware】VM虚拟机启动系统黑屏及操作系统未找到 多种详细解决方案

    作者 MiTu 本帖内容著作权归作者所有 转载请务必保留本文链接 VM虚拟机启动黑屏 解决方案大全 前言 1 BIOS虚拟设备支持 2 LSP问题 3 虚拟机配置 4 硬盘启动优先级 5 Opearating System not foun
  • 将sqlite源码放进自己的工程一起编译

    在sqlite官网上http www sqlite com download html下载最新的源代码 目前最新的版本是3 8 11 sqlite的源码包有两类 一类是sqlite amalgamation 3081101 zip 这个包里
  • (三十七)论文阅读

    简介 图1 论文原文 论文聚焦的是在目标检测中的 A n c h o r rm Anchor
  • mysql describe_mysql8 参考手册--EXPLAIN、DESCRIBE语句

    EXPLAIN DESCRIBE DESC tbl name col name wild EXPLAIN DESCRIBE DESC explain type explainable stmt FOR CONNECTION connecti