Mysql数据库 Explain执行语句中的type类型

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 案例分析 发布于3年前 更新于3年前 2.2K+

文章已超过1105天无更新,请确认内容是否可用

sql语句编写完成以后,要习惯用explain分析SQL语句根据结果进而进行sql方面的优化处理,此文章介绍explain 下type类型的理解和介绍

type类型 介绍
All MySQL将遍历全表以找到匹配的行
index 查找所有的索引树,比ALL要快的多,因为索引文件要比数据文件小的多,ALL不使用任何索引,进行全表扫描,性能最差
range 查找某个索引的部分索引,一般在where子句中使用 < 、>、in、between等关键词,只检索给定范围的行,属于范围查找
ref 查找非唯一性索引,返回匹配某一条件的多条数据,数据返回可能是多条,属于精确查找
eq_ref 查找唯一性索引,返回的数据至多一条(0或者1条),属于精确查找
const 表示通过索引一次找到了,const用于primary key 或者 unique 索引。因为只匹配一行数据,所以很快,将主键置于where列表中,mysql 就能将该查询转换成一个常量。
system const的特例,仅返回一条数据的时候
NULL MySQL在优化过程中分解语句,执行时甚至不用访问表或索引,例如从一个索引列里选取最小值可以通过单独索引查找完成。

从上往下越来越好使用索引的语句要达到range 级别

system > const > eq_ref > ref > range > index > All

THE END

喜欢就支持一下吧!

版权声明:除却声明转载或特殊注明,否则均为艾林博客原创文章,分享是一种美德,转载请保留原链接,感谢您的支持和理解

裁决总宣布乌鸦无罪,却判鸽子有罪

玉外纳

推荐阅读

PHP 如何递归获取父级和子级数据

在PHP中,递归获取父级和子级数据是一个常见的需求。本文将详细介绍如何使用递归方法分别获取父级和子级数据,并提供了示例代...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 03月06日

MySQL全文索引深度剖析:加速您的文本搜索

深入探讨MySQL全文索引,包括其定义、优劣势、使用场景,以及通过实例展示其工作原理。了解如何在大量文本数据中使用全文索...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 04月20日

探索实用宝藏网站:提升效率的工具集锦

在这篇文章中,我们将分享一些提升工作效率的宝藏网站,包括AI生成PPT、Markdown在线转HTML、AI在线生成Wo...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 07月25日

深度解析:PHP Laravel 框架中的缓存策略与优化

深入剖析 PHP Laravel 框架中的缓存策略,涵盖缓存驱动原理、应用场景及优化技巧,助力开发者提升应用性能。

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 03月04日

php获取指定日期的前一天,前一月等日期范围

php获取指定日期的前一天,前一月等日期范围

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 02月24日

MySQL字符串类型的字段 默认值NULL、空值、Empty String的区别,哪个更好?

本文详细介绍了在MySQL中默认值为NULL、空值和Empty String(空字符串)的区别,并分析了在生产环境下的优...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 10月29日

如何提升网站性能?从后端优化到整体提速的实用技巧

本文分享了如何在后端开发中优化网站性能,从数据库优化、缓存设计到负载均衡,涵盖实践案例与工具推荐,帮助开发者高效提升网站...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 12月27日

Mysql新建一个用户并赋予最高权限

本文详细介绍了如何在MySQL数据库管理系统中创建一个新用户,并赋予其最高权限。通过逐步指导,包括以root用户登录、创...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 07月03日