MySql学习笔记(七):explain-索引的使用情况
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,主要内容:explain的possible_key、key、key_len、ref、rows入门。1、possible_key表示在查询过程中可能用到的索引。查询涉及到的字段上如果有索引,则该索引会出
千家信息网最后更新 2025年11月10日MySql学习笔记(七):explain-索引的使用情况
主要内容:explain的possible_key、key、key_len、ref、rows入门。
1、possible_key
表示在查询过程中可能用到的索引。查询涉及到的字段上如果有索引,则该索引会出现在possible_key列中表示可能用到,但实际上并不一定会用到。例:
mysql> explain select * from t_blog where id = 1;+----+-------------+--------+-------+---------------+---------+---------+-------+------+-------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+--------+-------+---------------+---------+---------+-------+------+-------+| 1 | SIMPLE | t_blog | const | PRIMARY | PRIMARY | 4 | const | 1 | |+----+-------------+--------+-------+---------------+---------+---------+-------+------+-------+1 row in set
因为id是t_blog的主键,查询时涉及到了该字段,possible_key列中有主键字样。
2、key
表示再查询过程中实际用到的索引,如果为null则表示没有用到索引
如上例,key为主键,表示查询过程中用到了主键。完整解读:理论上要用到主键,实际上确实用到了主键。
存在理论上应该用到某索引,但实际上没有用到,即索引失效;
如果查询中使用了覆盖索引(select子句与符合索引顺序和字段完全相同),possible_key为null,key为覆盖索引。
3、key_len
索引中使用的字节数,越短越好。这个值表示最大可能使用长度而不是实际使用长度,例如:
mysql> explain select * from t_blog where title = 'C语言精讲';+----+-------------+--------+------+---------------+---------+---------+-------+------+--------------------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+--------+------+---------------+---------+---------+-------+------+--------------------------+| 1 | SIMPLE | t_blog | ref | index_1 | index_1 | 153 | const | 1 | Using where; Using index |+----+-------------+--------+------+---------------+---------+---------+-------+------+--------------------------+1 row in set
此时,查询条件多一个:
mysql> explain select * from t_blog where title = 'C语言精讲' and typeId = 2;+----+-------------+--------+------+---------------+---------+---------+-------------+------+--------------------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+--------+------+---------------+---------+---------+-------------+------+--------------------------+| 1 | SIMPLE | t_blog | ref | index_1 | index_1 | 158 | const,const | 1 | Using where; Using index |+----+-------------+--------+------+---------------+---------+---------+-------------+------+--------------------------+1 row in set
查询条件变多,精度变高,同时key_len也在变大。
4、ref
显示索引的哪一列被使用了,可能的话是一个常量。
一共有两种格式:
1>const:常量,where <索引>='常量'
2><数据库名>.<表名>.<字段名> :某数据库中的某表中的某列被使用
5、rows
每张表有多少行被优化器查询
索引
查询
实际
字段
实际上
常量
过程
条件
理论
语言
长度
最大
相同
中用
中表
内容
同时
如上
子句
字样
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2018配资软件开发
网络安全馆全是多媒体
服务器信号是啥
江西省网络技术交易补贴
微信是一种网络技术应用
福建网络技术开发
广东网络软件开发条件
siss思迅软件开发预言
有哪些服务器安全软件
关于网络安全的人物画
腾讯大数据库收藏文件保持多久
合作获取数据库中的最大值
拨号云服务器
oracle数据库串
魔兽世界地精在哪个服务器多
物控软件开发
软件数据库类型的
网络安全知识和技巧
中国武术名家数据库周皓宇
数据库建立连接错误是怎么回事
腾讯云服务器 安全组不生效
2017年9月网络技术
大话西游缘定三生服务器是老区吗
数据库错误日志如何产生的
工行软件开发中心珠海地址
小程序源码腾讯服务器管理
首届 陇剑杯 网络安全大赛
市场linux服务器占比
泰安数字化城管软件开发公司
长沙思洋互联网科技有限公司