news 2026/8/10 0:24:25

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【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:表示这些行几乎全部符合条件

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 15:32:10

2026智能体技术入门指南:轻松掌握大模型驱动下的工业变革,速收藏!

2025年被称为“智能体元年”,智能体技术凭借其自主性、反应性和社交能力,在工业领域展现出巨大潜力。本文介绍了基于大模型的智能体是什么,以及其在工业场景中的应用,特别是在数据治理和智慧运维方面的革新。智能体通过规划、记忆…

作者头像 李华
网站建设 2026/8/10 0:24:10

揭秘谷歌Nano图像生成核心技术

谷歌Nano(Gemini 2.5 Flash)图像生成核心原理 谷歌Nano基于Gemini 2.5 Flash模型架构,采用扩散模型与注意力机制结合的方式实现图像生成。其核心特点是参数规模精简至20亿级别,但通过动态稀疏注意力技术,在保持生成质量的同时显著降低计算成本…

作者头像 李华
网站建设 2026/7/14 15:32:28

ChatGPT-4o颠覆数学建模与AI绘画

ChatGPT-4o在数学建模中的创新应用 ChatGPT-4o通过自然语言处理与符号计算能力的结合,显著提升了数学建模的效率。模型能够理解用户输入的数学问题描述,自动生成建模框架,并输出可执行的代码示例。例如,针对传染病传播的SEIR模型&…

作者头像 李华
网站建设 2026/7/14 15:32:12

福尔蒂免喷涂PP母粒助注塑厂减重8%、良率升5.3个百分点

最近有家注塑厂的朋友跟我聊起一个实际困扰:他们做的汽车内饰件,客户突然提出新要求——零件要轻一点,同时不良率必须压得更低。原来老配方加玻纤增强后强度够了,但表面容易浮纤、喷漆附着力不稳,每次返工都得多花两小…

作者头像 李华
网站建设 2026/7/14 15:32:25

PPR给水管系列,品质如何把控

在PPR给水管的生产过程中,品质控制是确保产品安全和性能的核心。这个过程从原材料筛选开始,确保使用无害和符合标准的材料。接着,应用先进生产工艺来提升管道的强度和耐用性,使产品在各类环境下都能表现出色。每根管道都要经过严格…

作者头像 李华
网站建设 2026/7/14 15:32:13

Python魔法:列表与字典推导式深度解析

目录告别冗余:传统循环的痛点列表推导式:构建列表的魔法1. 基本语法:[表达式 for 变量 in 可迭代对象]2. 带条件过滤:[表达式 for 变量 in 可迭代对象 if 条件]3. 条件表达式(三元运算符):[表达…

作者头像 李华