[MySQL]explain语句中type字段的具体解释
2023-02-18 15:41:05 时间
以下排序从最优到最差:
system:表内只有一行数据。
const:最多只会有一条记录匹配,常用于主键或者唯一索引为条件查询。
eq_ref:当连接使用的索引为主键和唯一时会出现。
ref:使用普通索引 = 或 <=> 运算符进行比较将会出现。
fulltext:使用全文索引。
ref_or_null:跟 ref 类型类似,只是增加了 null 值的判断,实际用的不多。语句为 where name = ‘kaka’ and name is null,name 为普通索引。
index_merge:查询语句使用了俩个以上的索引,常见在使用 and、or 会出现,官方文档将此类型放在 ref_or_null 之后,但是在很多的情况下由于读取索引过多性能有可能还不如 range。
unique_subquery:用于 where 中的 in 查询,完全替换子查询,效率更高。语句为 value IN (SELECT primary_key FROM single_table WHERE some_expr)
index_subquery:子查询中的返回结果字段组合是一个索引(或索引组合),但不是一个主键或唯一索引。
range:索引范围查询,常见于使用 =,<>,>,>=,<,<=,IS NULL,<=>,BETWEEN,IN() 或者 like 等运算符的查询中。
index:索引全表扫描,把索引从头到尾扫一遍。
all:全表扫描,性能最差。
相关文章
- Jmeter录制脚本
- mitmproxy使用详解
- Maven入门
- 使用Jenkins+Blue Ocean 持续构建自动化部署之安卓源码打包、测试、邮件通知
- 使用Jenkins+Pipline 持续构建自动化部署之安卓源码打包、测试、邮件通知
- Jenkins上实现JMeter + Jenkins 接口压力测试持续集成,并生成HTML报告
- selenium自动化设计框架之 page object设计模式介绍
- adb 命令大全
- jmeter命令行运行(非GUI形式)参数详解
- docker dockerfile使用详解
- docker-compose 使用介绍
- docker+selenium搭建分布式web自动化测试环境
- docker容器与虚拟机的区别
- docker 网络模式 和 端口映射
- docker的安装以及常用命令详解
- Postman教程大全--入门到精通
- Charles mock数据的四种方式及弱网测试设置
- H5性能分析及前端性能监控:window.performance
- pip安装Frida-tools报错(ssl)urlopen error解决办法
- appium设备交互命令