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

【MySQL-索引调优】02:单列索引

1-问题

查询:

EXPLAINSELECT*FROMordersWHEREuser_id=1234;

发现:

idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtra
1SIMPLEordersALL9952010Using where

分析:

  • select_type = SIMPLE:说明这是一个简单查询,没有子查询或UNION

  • table = orders:查询的表就是orders

  • partitions = NULL:没有分区

  • type = ALL这是最关键的,表示执行计划是 全表扫描。也就是说它没有用索引,而是把整张表都扫一遍

  • possible_keys = NULL:没有可用的索引

  • key = NULL关键,实际使用的索引也是空的,说明没有用索引

  • key_len = NULL:索引长度为空

  • ref = NULL:没有引用索引

  • rows = 99520关键,预估需要扫描大约 99,520 行数据

  • filtered = 10:表示大约只有 10% 的数据符合条件

  • Extra = Using where:说明是靠WHERE user_id = 1234这个条件来过滤

查询在orders表上做了全表扫描,效率比较低。如果orders表很大,性能会很差。原因是user_id字段没有索引,所以数据库只能把整张表读一遍再过滤

2-优化

  • 执行计划显示type = ALL,也就是全表扫描
  • possible_keys = NULL,说明数据库认为没有合适的索引可以用
  • 查询条件是WHERE user_id = 1234`

可以新增user_id索引,提高查询速度

# 新增索引CREATEINDEXidx_user_idONorders(user_id);# 再次运行EXPLAINSELECT*FROMordersWHEREuser_id=1234;

结果为:

idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtra
1SIMPLEordersrefidx_user_ididx_user_id9const8100

分析:

  • type = ref:这表示查询使用了非唯一索引(普通索引),通过索引来定位行,而不是全表扫描。相比之前的ALL,性能提升很大

  • possible_keys = idx_user_id:数据库识别到可以用idx_user_id这个索引

  • key = idx_user_id:实际使用的索引就是你刚建的idx_user_id

  • key_len = 9:索引字段的长度(这里是user_id的存储长度)

  • ref = const:说明查询条件是一个常量(user_id = 1234),直接用这个值去索引里查

  • rows = 8:数据库预估只需要扫描大约8行,而不是之前的99,520行

  • filtered = 100:表示这些行几乎全部符合条件

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

相关文章:

  • 企微机器人开发:实现私域流量的自动化管理与智能交互
  • 软件测试工程师必须掌握的数据库基础知识:从入门到实战
  • Redis持久化策略
  • 基于Systick系统滴答定时器的延时时间计算
  • 2025房建首选品牌揭晓!空气能行业里谁上榜了? - 博客湾
  • SI2318 场效应管参数详解
  • 选对自动获客软件,少走弯路!AI 招财兔实测体验
  • 2026年NMN十大品牌权威榜单|抗衰健康热门品牌深度测评与选购指南 - 速递信息
  • 从 1000 行巨型组件到可维护前端:某内部平台踩坑实录(福袋代码版)
  • 2026天津优质国际高中推荐:天津比较好的国际高中择校指南 - 品牌2026
  • 2026 年弱电机电工程行业标杆企业深度解析 —— 以四川远瞻赢实业集团有限公司为核心 - 深度智识库
  • 2026年上海雅思机构怎么选?三个维度深度解析 - 资讯焦点
  • Fast-DDS 性能优化分析报告
  • 十大眼霜推荐榜!女士眼霜哪个牌子的效果好?2026精准解决眼周问题首选这款 - 资讯焦点
  • LeetCode热题100 N 皇后
  • 2026净肤保湿沐浴露实测:告别油腻假滑,5款高口碑闭眼入 - 资讯焦点
  • 2026年种植体品牌深度测评:五大主流品牌全维度对比分析 - 资讯焦点
  • 我把 Cursor 换成了 Trae:7天深度体验后,这3个功能让我回不去了
  • 2026上海B2B企业出海:推荐5家靠谱的Facebook推广获客服务商与海外社媒代运营公司(附带联系方式) - 品牌2025
  • 2026美白去口臭牙膏选购指南!市面上去牙渍牙膏推荐哪款?亮齿护龈选它 - 资讯焦点
  • 好影教育是正规机构吗? - 资讯焦点
  • AI临终牧师:记录废弃算法最后的“忏悔“
  • AD 极坐标操作方式
  • 2026美国投资移民中介排名及行业机构解析 - 品牌排行榜
  • 微信也能定时发消息了?这个隐藏功能,很多人都不知道!
  • 2026市场总监必看:客户精细化运营怎么选系统?附5大盘点 - 纷享销客智能型CRM
  • 模型预测控制专题(九)—— 进一步优化的方向
  • 2026宠物玩具橡胶制品生产厂家实力之选,尼可高分子以技术赋能产品 - 资讯焦点
  • 无人机视角建筑损坏程度识别分割数据集labelme格式865张6类别
  • 对标国际标准:上海昂林等国产厂家在全自动硫化物分析仪领域的突破 - 品牌推荐大师1