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

相关推荐
rgeshfgreh14 分钟前
Spring事务传播机制深度解析
java·前端·数据库
无名-CODING14 分钟前
Java Spring 事务管理深度指南
java·数据库·spring
想唱rap21 分钟前
MYSQL在ubuntu下的安装
linux·数据库·mysql·ubuntu
蕨蕨学AI22 分钟前
【Wolfram语言】45.2 真实数据集
java·数据库
The Sheep 202329 分钟前
MongoDB与.Net6
数据库·mongodb
BryceBorder38 分钟前
SCAU--数据库
数据库·oracle·dba
java1234_小锋40 分钟前
MySQL中的乐观锁和悲观锁是什么?
mysql
有味道的男人43 分钟前
京东关键词API接口获取
数据库
罗光记1 小时前
《人工智能安全治理研究报告(2025年)发布
数据库·其他·百度·新浪微博
202321336054 刘1 小时前
Linux常用命令分类整理
linux·运维·数据库