当前位置: 首页 > news >正文

MySQL中type字段解析

文章目录

      • 1. system & const (最快)
      • 2. eq_ref (极快)
      • 3. ref (快)
      • 4. range (较快)
      • 5. index (慢)
      • 6. ALL (最慢)
      • 💡 核心区别总结

记录一下我经常忘记的Type字段

EXPLAIN的结果中,type字段代表的是访问类型(Access Type),即 MySQL 决定如何查找表中的行。这是判断查询性能最直观的指标。

按照从好到差的顺序,常用的type取值如下:


1. system & const (最快)

  • system:表只有一行(等于系统表),这是const类型的特例。
  • const:通过索引一次就找到了。通常出现在使用**主键(primary key)唯一索引(unique index)**与常量进行等值比较时。
    • 示例:SELECT * FROM users WHERE id = 1;

2. eq_ref (极快)

  • 通常出现在多表连接中,连接条件使用的是主键或唯一索引。对于前一张表的每一行,在当前表中只有一行匹配。
    • 示例:SELECT * FROM a JOIN b ON a.id = b.a_id;(假设b.a_id是唯一索引)

3. ref (快)

  • 使用的是非唯一性索引(普通索引)或者联合索引的前缀扫描。可能会找到多行符合条件的记录。
    • 示例:SELECT * FROM users WHERE age = 25;age是普通索引)

4. range (较快)

  • 范围扫描。利用索引检索给定范围内的行。
    • 特征:只要WHERE子句中出现了BETWEEN,>,<,in,or等,且该列有索引,通常就是range

5. index (慢)

  • Full Index Scan。虽然也扫了索引,但它扫描了索引树的所有叶子节点。这通常比全表扫描快一点点,因为它不用去读数据行(通常伴随Extra: Using index)。

6. ALL (最慢)

  • Full Table Scan。全表扫描,MySQL 遍历整个表来查找匹配的行。
    • 评价:数据量大时是灾难,必须优化。

💡 核心区别总结

system > const > eq_ref > ref > range > index > ALL
一般来说,生产环境的查询至少要达到range级别,最好能达到ref

http://www.jsqmd.com/news/610224/

相关文章:

  • FaceFusion换脸软件:如何设置0.0.0.0和自定义端口?新手快速上手指南
  • 企业官网如何设计?专业公司网站设计制作要点解析
  • STM32智能音乐闹钟开发全解析
  • 中国婴幼儿肌肤特点分析报告
  • C++的std--ranges中的同步多线程
  • STM32智能水产养殖系统开发实战
  • 计算机存储体系与零拷贝技术深度解析
  • FastAPI项目半夜报警吵醒你?聊聊告警这事儿怎么搞!虑
  • 2026内江家庭保洁品牌怎么选?3家标杆企业维度对比 - 优质品牌商家
  • SecGPT-14B模型管理:OpenClaw自动化监控GPU显存与API健康状态
  • GLM-4.7-Flash在Token经济系统设计中的应用实践
  • 嵌入式开发实用C代码集锦与优化技巧
  • 人工智能之数学基础:三种常见的凸优化问题
  • MySQL主从同步延迟:排查方法+优化技巧(实战落地版)
  • 【声纳与人工智能融合——从理论前沿到自主系统实战(进阶篇)】第3章 跨模态桥梁:连接器设计与对齐机制
  • ST7036字符液晶驱动库:轻量、精准、可移植的嵌入式LCD解决方案
  • GEO(生成式引擎优化)到底是什么呢?
  • 小程序video标签在华为手机无法播放?手把手教你排查MEDIA_ERR_DECODE错误
  • 《数论探微:进阶版》(Arithmetic Tales: Advanced Edition)扛
  • 为什么鸿蒙多端游戏是未来趋势?
  • 0061.旋转链表
  • 零基础玩转OpenClaw:百川2-13B-4bits量化版入门指南
  • 面试官问我‘龟兔赛跑’怎么找链表环起点,我用Floyd算法5分钟讲清楚了
  • GEO(生成式引擎优化)可以做什么呢?未来发展趋势
  • 考虑信息间隙决策理论含碳捕集耦合煤制氢的综合能源系统优化调度研究(Matlab代码实现)
  • IoTtweetESP32:ESP32/ESP8266轻量级物联网云通信库
  • Skill让大模型连接知识库不再复杂:Markdown+CLI的全新解决方案!
  • 双目视觉实战:如何用OpenCV和Python实现简易3D建模(附完整代码)
  • HakcMyVM-Animetronic
  • 【万字文档+源码】基于springboot与vue健康健身追踪系统