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

相关推荐
帝吃藕和1 分钟前
MySQL 知识点复习- 6. ORDER BY, GROUP BY
mysql
zzz大王29 分钟前
sql 五十题 26-30
数据库·sql
小张程序人生1 小时前
《系统掌握 ShardingSphere-JDBC:分库分表、读写分离、分布式事务一网打尽》
java·mysql
小尧嵌入式1 小时前
QT软件开发知识点流程及记事本开发
服务器·开发语言·数据库·c++·qt
子夜江寒1 小时前
SQL 从基础操作到高级查询
数据库·sql
Dxy12393102161 小时前
MySQL快速入门
数据库·mysql
NaiLuo_451 小时前
MySQL表的约束
数据库·sql·mysql
kkkkkkkkl241 小时前
彻底讲清 MySQL InnoDB 锁机制:从 Record 到 Next-Key 的全景理解
数据库·mysql
DBA小马哥1 小时前
Oracle迁移中查询优化器原理解析与实战优化策略
数据库·oracle
gugugu.1 小时前
Redis Hash类型深度解析:结构、原理与实战应用
数据库·redis·哈希算法