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在比较最合适的索引的依据

相关推荐
冷凝娇21 分钟前
【MySQL】2026总结(二)
数据库·mysql
aaa小葵1 小时前
LangGraph
数据库·人工智能
wWYy.2 小时前
Mysql:Read View
数据库·mysql
—Miss. Z—3 小时前
存储过程、用户定义函数、触发器和游标
数据库·mysql
小码农 - 初3 小时前
MySQL 的约束
mysql
文人sec3 小时前
MySQL事务与索引做了什么?
android·笔记·mysql
Dear~yxy4 小时前
MySQL企业级实战
数据库·mysql
晚安code4 小时前
MySQL 开发规范清单:建表、索引、SQL、ORM 四块一次讲透
数据库·sql·mysql
ERD Online4 小时前
docker-compose 一键部署的 MIT 开源数据库建模平台
数据库·docker·开源
Data_Journal5 小时前
如何使用 Java 和 Jsoup 解析 HTML
大数据·开发语言·数据库·python·scrapy