广告
返回顶部
首页 > 资讯 > 数据库 >MySQL explain中列的取值方法及含义是什么
  • 303
分享到

MySQL explain中列的取值方法及含义是什么

2023-07-05 14:07:28 303人浏览 八月长安
摘要

这篇文章主要介绍“MySQL explain中列的取值方法及含义是什么”,在日常操作中,相信很多人在Mysql explain中列的取值方法及含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对

这篇文章主要介绍“MySQL explain中列的取值方法及含义是什么”,在日常操作中,相信很多人在Mysql explain中列的取值方法及含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql explain中列的取值方法及含义是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

type

type 取值含义
const使用主键 或 唯一二级索引
eq_ref被驱动表,用主键 或 唯一二级索引进行 (索引列不为空)
ref普通 的二级索引进行等值匹配 (索引列不为空)
ref_or_null普通 的二级索引进行等值匹配 (索引可以为空)
index_mergeTODO 索引合并相关的内容待探索
unique_subquery查询优化器把 in 语句优化成 exists,使用了主键 或 唯一二级索引进行 (索引列不为空)
index_subquery查询优化器把 in 语句优化成 exists,使用了普通索引
range范围扫描
index1. 使用索引覆盖, 但是要扫描全部的索引记录 where条件只命中部分索引
2. 全表扫描, 并且要对主键进行排序
all全表扫描

ref

表示等值匹配用的是什么

ref 取值含义相关列
const与key列的索引名等值匹配key
表的列名与该列进行等值匹配
func函数

rows

预计扫描的行数

filtered

是一个百分比数,key1 扫描的数作为分母, common_field 命中的结果为分子

select * from s1 where key1 > 'z' and common_field = 'a'

表关联的时候,这个指标比较重要,针对下表数据

tablerowsfiltered
s1968810
s21100

extra

extra 取值含义
Using index使用了索引覆盖
Using index condition使用了索引下推
Using where在 server 层进行了判断(没有索引的列)
Using join buffer (Block Nested Loop)不能有效利用索引时,退而求其次使用缓存
Using filesort使用内存或者磁盘进行文件排序
Using temporary使用了临时表

补充: 简单阐述索引下推

client -> server -> 存储引擎,下推的意思是把筛选放到存储引擎,减少回表的数据量

形如 where key1 > xxx and key3 like ‘%a’ ,5.6 版本 like 的操作是在server层处理的,5.7.x的版本后可以在存储引擎层完成过滤。

补充:group by 优化掉额外的排序操作

select common_field, count(*) as amount from s1 group by common_field;-- 以上语句会被 mysql 补充为select common_field, count(*) as amount from s1 group by common_field order by common_field;-- 如果要省略文件排序, 则显式声明为 order by nullselect common_field, count(*) as amount from s1 group by common_field order by null;

到此,关于“MySQL explain中列的取值方法及含义是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL explain中列的取值方法及含义是什么

本文链接: https://www.lsjlt.com/news/352280.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL explain中列的取值方法及含义是什么
    这篇文章主要介绍“MySQL explain中列的取值方法及含义是什么”,在日常操作中,相信很多人在MySQL explain中列的取值方法及含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-07-05
  • MySQL explain 中列的取值及含义讲解
    目录前言refrowsfilteredextra补充: 简单阐述索引下推补充:group by 优化掉额外的排序操作前言 今天看 《mysql 是怎样允许的》和 《高性能MySQL》索引相关的部分,觉得有必要整理下 ex...
    99+
    2023-03-21
    MySQL explain列的取值及含义 MySQL explain列
  • mysql explain中key_len的含义以及计算方法是什么
    这篇文章主要为大家展示了“mysql explain中key_len的含义以及计算方法是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql explain中key_...
    99+
    2023-06-29
  • mysql explain中key_len的含义以及计算方法
    目录前言计算key_len注意事项:示例总结前言 在Mysql中执行explain的结果中有一列为key_len,那么key_len的含义是什么呢? key_len:表示索引使用的字...
    99+
    2022-11-13
  • JavaScript中.?、??、??=的用法及含义是什么
    今天小编给大家分享一下JavaScript中.、、=的用法及含义是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。可选链(...
    99+
    2023-06-29
  • vue中$的含义及用法是什么
    这篇文章主要讲解了“vue中$的含义及用法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中$的含义及用法是什么”吧!这些只是Vue的命名规则,为了区分普通变量属性,避免我们自己声...
    99+
    2023-07-06
  • python中class(object)的含义是什么以及用法
    目录python class(object)的含义class, class()和class(object)的区别为什么要继承object类class, class()和class(o...
    99+
    2023-02-03
    python class python object python class(object)
  • Python列表的定义及使用方法是什么
    这篇文章主要介绍“Python列表的定义及使用方法是什么”,在日常操作中,相信很多人在Python列表的定义及使用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python列表的定义及使用方法是什么...
    99+
    2023-06-25
  • js中session存值和取值的方法是什么
    在JavaScript中,无法直接使用session来存储和获取值。但是可以使用其他方法来模拟会话存储和获取值的功能。一种常用的方法...
    99+
    2023-08-18
    js session
  • java中session存值和取值的方法是什么
    在Java中,可以使用HttpSession对象来存储和获取会话数据。1. 存储会话数据:```javaHttpSession se...
    99+
    2023-08-14
    java session
  • MySQL执行计划中的各个参数及含义是什么
    本篇文章给大家分享的是有关MySQL执行计划中的各个参数及含义是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧...
    99+
    2022-10-18
  • MySQL中“SELECT”语句的含义是什么以及如何使用它?
    SELECT命令用于从MySQL数据库中获取数据。您可以在 mysql> 提示符以及任何脚本(例如 PHP)中使用此命令。语法以下是从 MySQL 表中获取数据的 SELECT 命令的通用语法 - p>SELECT field1, ...
    99+
    2023-10-22
  • MySQL执行计划中的各个参数及含义指的是什么
    这期内容当中小编将会给大家带来有关MySQL执行计划中的各个参数及含义指的是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。查看执行计划可以使用explain + SQ...
    99+
    2022-10-18
  • java中field获取属性值的方法是什么
    在Java中,要获取字段(field)的属性值,可以使用以下几种方法:1. 使用字段的getter方法:如果字段有对应的getter...
    99+
    2023-09-25
    java
  • Python从列表中取元素的方法是什么
    Python从列表中取元素有几种常用的方法:1. 通过索引值获取元素:可以使用方括号[]来访问列表中的元素,索引值从0开始。例如,对...
    99+
    2023-09-26
    Python
  • 检索存储在 INT 列中作为 MySQL TIMESTAMP 的值的正确方法是什么?
    我们可以使用FROM_UNIXTIME()函数来检索值,作为MySQL TIMESTAMP,存储在表的列中的INT。例如,我们有一个名为'test123'的表,其中有一个名为'val1'的列。在这个列中,我们将整数值存储如下-mysql&g...
    99+
    2023-10-22
  • C++中右值引用与移动语义的方法是什么
    今天小编给大家分享一下C++中右值引用与移动语义的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。意义充分利用临时对...
    99+
    2023-07-05
  • mysql存储过程中给变量赋值的方法是什么
    这篇文章主要介绍“mysql存储过程中给变量赋值的方法是什么”,在日常操作中,相信很多人在mysql存储过程中给变量赋值的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-19
  • Mysql中自定义函数的创建和执行方法是什么
    本文小编为大家详细介绍“Mysql中自定义函数的创建和执行方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mysql中自定义函数的创建和执行方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢...
    99+
    2023-03-13
    mysql
  • uniapp中获取dom元素及更改dom元素颜色的方法是什么
    这篇文章主要介绍了uniapp中获取dom元素及更改dom元素颜色的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇uniapp中获取dom元素及更改dom元素颜色的方法是什么文章都会有所收获,下面我们...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作