返回顶部
首页 > 资讯 > 数据库 >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://lsjlt.com/news/352280.html(转载时请注明来源链接)

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

猜你喜欢
  • 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+
    2024-04-02
  • MySQLexplain中列的取值及含义讲解
    目录前言refrowsfilteredextra补充: 简单阐述索引下推补充:group by 优化掉额外的排序操作前言 今天看 《MySQL 是怎样允许的》和 《高性能MySQL》...
    99+
    2023-03-21
    MySQL explain列的取值及含义 MySQL explain列
  • JavaScript中.?、??、??=的用法及含义是什么
    今天小编给大家分享一下JavaScript中.、、=的用法及含义是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。可选链(...
    99+
    2023-06-29
  • vue中$的含义及用法是什么
    这篇文章主要讲解了“vue中$的含义及用法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中$的含义及用法是什么”吧!这些只是Vue的命名规则,为了区分普通变量属性,避免我们自己声...
    99+
    2023-07-06
  • mysql中explain的用法是什么
    在MySQL中,EXPLAIN是一种用于分析查询语句的关键字。它提供了关于查询执行计划的详细信息,帮助优化查询语句的性能。使用EXP...
    99+
    2023-08-28
    mysql
  • php中返回值的含义是什么
    本篇内容介绍了“php中返回值的含义是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在PHP中,返回值就是把函数运算的结果从函数内部取出...
    99+
    2023-06-29
  • mysql中restrict的含义是什么
    本篇内容介绍了“mysql中restrict的含义是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2023-04-19
    mysql restrict
  • mysql中filtered的含义是什么
    在MySQL中,filtered表示查询时返回的数据行在所有数据行中的比例。它表示查询结果集经过过滤后实际返回的数据行占总数据行的比...
    99+
    2024-04-09
    mysql
  • mysql中tps的含义是什么
    在MySQL中,TPS代表每秒事务数(Transactions Per Second),它是指数据库服务器每秒钟能够处理的事务数量。...
    99+
    2024-04-02
  • linux tx值的含义是什么
    这篇文章主要介绍“linux tx值的含义是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux tx值的含义是什么”文章能帮助大家解决问题。linux tx值的意思有多种,比如:1、wan...
    99+
    2023-07-05
  • MySQL中数据表及字段含义是什么
    这篇文章给大家介绍MySQL中数据表及字段含义是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、本系统字段含义  用量是指一个单位的母件,要多少个单位的子件组成,如1PCS的B2...
    99+
    2024-04-02
  • mysql中explain ref的用法是什么
    在MySQL中,EXPLAIN语句用于分析查询语句的执行计划,包括了查询语句将如何执行、使用了哪些索引、表的访问顺序等信息。其中,E...
    99+
    2024-05-13
    mysql
  • 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中的魔法方法(Magic methods)是一些特殊的方法,它们以双下划线(__)开头和结尾,并具有特定的功能和含义。这...
    99+
    2023-10-23
    python
  • mysql中limit 1的含义是什么
    在 MySQL 中,LIMIT 1 是一种用于限制查询结果行数的语句。当使用 LIMIT 1 时,表示只返回查询结果集中的第一行数据...
    99+
    2024-04-09
    mysql
  • mysql中using btree的含义是什么
    在MySQL中,使用USING BTREE表示创建一个基于B-tree索引的索引。B-tree是一种常见的数据结构,用于在数据库中快...
    99+
    2024-04-09
    mysql
  • mysql sakila的含义是什么
    本篇内容介绍了“mysql sakila的含义是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2023-04-19
    mysql sakila
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作