mysql对索引的选择简述

概述

在业务中经常会优化一些mysql的慢查询,通常都是使用explain去查看分析,检查扫描行数和索引的命中情况;

但是在具体索引的选择上,explain结果中并没有直接展示出来;

此时可以开启mysql的追踪优化器Trace功能;

mysql的追踪优化器Trace

sql 复制代码
SET session optimizer_trace="enabled=on"; -- 在当前session中打开追踪优化器
 
SET session optimizer_trace_max_mem_size = 1048576; -- 设置为1MB,根据实际情况调整

-- 和业务查询一起执行,查询mysql的索引比较
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;

截图中可以看到mysql在比较最合适的索引的依据

相关推荐
Baron X3 小时前
Redis 7.0.9 完整部署指南
数据库·redis
weixin_440730503 小时前
数据库缓存、索引、缓存命中率的理解
数据库·缓存
DeepAgent4 小时前
AI Agent 工程实践(34):企业 AI Agent 架构
数据库·人工智能·agent
致Great5 小时前
Qwen3.8-Flash 发布:6B 激活,Qwen4 架构提前亮相
数据库·架构
张文君5 小时前
ubuntu26.04从ext4改成raid1+lvm启动
数据库·postgresql
鲨鱼辣钊5 小时前
FastAPI筑基_Day15_Alembic数据库迁移实战
数据库·elasticsearch·fastapi
叫我:松哥5 小时前
基于Flask的教师评教管理系统,支持学生和教师两种角色登录
数据库·后端·python·数据挖掘·flask
Tisfy5 小时前
LeetCode 3720.大于目标字符串的最小字典序排列:状态机 —— :从左往右枚举,失败则退回(最多退回一次)
linux·数据库·leetcode·字符串·状态机·构造
csdn_aspnet5 小时前
mysql 函数、存储过程写法及示例
数据库·mysql·存储过程·函数·function·procedure
IvorySQL5 小时前
倒计时 6 天!PGConf.Asia 2026 演讲征集即将截止
数据库·人工智能·postgresql