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

相关推荐
骑着bug的coder几秒前
第10讲:并发场景优化——锁机制与死锁解决
后端·mysql
DemonAvenger1 分钟前
Redis与微服务:分布式系统中的缓存设计模式
数据库·redis·性能优化
柒.梧.4 分钟前
Spring JDBC实战指南:从基础操作到事务管理全解析
数据库·oracle
rchmin7 分钟前
PostgreSQL与MySQL选型对比
数据库·mysql·postgresql
Data_agent9 分钟前
微店商品列表API接口指南
大数据·数据库·python
Vic1010110 分钟前
PostgreSQL 中序列(bigserial 和手动序列)的使用与注意事项
java·大数据·数据库·postgresql
laufing11 分钟前
sqlmodel -- fastapi 连接关系型数据库
数据库·fastapi·sqlmodel
越甲八千14 分钟前
ORM 的优势
数据库·python
DBA小马哥16 分钟前
从“数据洪流”到“业务引擎”:时序数据库为何能重塑企业核心竞争力
数据库·时序数据库