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

相关推荐
老邓计算机毕设2 分钟前
SSM医院疫情管理系统e3oxi(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·医疗信息化·ssm 框架·医院疫情管理系统
diediedei9 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
砚边数影9 分钟前
决策树实战:基于 KingbaseES 的鸢尾花分类 —— 模型可视化输出
java·数据库·决策树·机器学习·分类·金仓数据库
weixin_4454023012 分钟前
Python游戏中的碰撞检测实现
jvm·数据库·python
亓才孓14 分钟前
[数据库]数据库
数据库
左灯右行的爱情17 分钟前
导出重复问题记录-bugs专辑
数据库·mysql
熊文豪17 分钟前
Oracle迁移KingbaseES:从痛点到破局之道
数据库·kingbasees·电科金仓
洋不写bug19 分钟前
基础联合查询和连接查询
数据库
wzy062321 分钟前
MySQL UDF 一例
mysql·des/ecb/
砚边数影32 分钟前
决策树原理(一):信息增益与特征选择 —— Java 实现 ID3 算法
java·数据库·决策树·机器学习·kingbase·数据库平替用金仓·金仓数据库