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

相关推荐
无籽西瓜a几秒前
详解Redis持久化:RDB、AOF与混合持久化
数据库·redis·缓存
人工智能知识库1 分钟前
华为HCCDA-GaussDB题库(带详细解析)
数据库·华为·gaussdb·题库·hccda-gaussdb·hccda
齐 飞2 分钟前
数据库批量插入耗时过长问题rewriteBatchedStatements=true
数据库·mysql
sg_knight2 分钟前
SQL 中的 IFNULL 函数是什么?
数据库·sql·mysql·oracle·database·关系型数据库·db
程序员黄老师10 分钟前
一分钟了解时序数据库(TSDB)
大数据·数据库·时序数据库
你才是臭弟弟10 分钟前
时序数据库TDengine TSDB(安装/介绍)
数据库·时序数据库·tdengine
正在走向自律10 分钟前
从“可用”到“好用”:金仓时序数据库开发者体验深度测评与二次开发生态搭建指南
数据库·时序数据库·金仓数据库
1.14(java)11 分钟前
事务操作全解析:ACID特性与实战技巧
数据库·事务·acid特性
熊文豪16 分钟前
国产化替代浪潮下:金仓时序数据库的破局之路
数据库·时序数据库·金仓数据库
DBA小马哥17 分钟前
时序数据库InfluxDB迁移替换:痛点剖析与解决方案
运维·数据库·时序数据库·dba