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

相关推荐
zb200641203 分钟前
从 SQL 语句到数据库操作
数据库·sql·oracle
XDHCOM5 分钟前
ORA-38877故障修复:可用重做日志与远程处理指南
数据库·oracle
十年编程老舅12 分钟前
窥探内核心脏:深入解析 proc 虚拟文件系统
linux·服务器·数据库·c++·linux内核·文件系统·读写锁
大江东去浪淘尽千古风流人物23 分钟前
【Basalt】Basalt void SqrtKeypointVioEstimator<Scalar_>::optimize() VIO优化流程
数据库·人工智能·python·机器学习·oracle
zhenxin012226 分钟前
万字详解 MySQL MGR 高可用集群搭建
android·mysql·adb
运维行者_30 分钟前
通过 OpManager 集成 Firewall Analyzer 插件,释放统一网络管理与安全的强大能力
大数据·运维·服务器·网络·数据库·安全
xxjj998a33 分钟前
从MySQL迁移到PostgreSQL的完整指南
数据库·mysql·postgresql
Three~stone35 分钟前
MySQL Workbench 8.0.45 安装教程[附安装包]
数据库·mysql
炸炸鱼.37 分钟前
MySQL 高可用实战(主主复制 + Keepalived+HAProxy)
数据库·mysql·adb