怎么在Mysql中使用explain分析索引的走向
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,怎么在Mysql中使用explain分析索引的走向?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。准备工作1、用户表一张,有uid ,us
千家信息网最后更新 2026年11月02日怎么在Mysql中使用explain分析索引的走向
怎么在Mysql中使用explain分析索引的走向?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
准备工作
1、用户表一张,有uid ,user_name,real_name ,eamil等字段,详细见建表语句
2、在user_name字段下增加一个简单索引user_name,在email,mobile,age三个字段下增加索引complex_index
3、表引擎使用MyISAM,增加
4、准备97000条数据(具体的可以根据实际情况来定数据量,这里准备的是97000+)
5、实验工具Navcat
建表语句
DROP TABLE IF EXISTS `qz_users`;CREATE TABLE `qz_users` ( `uid` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户的 UID', `user_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户名', `real_name` varchar(128) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户姓名', `email` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'EMAIL', `mobile` varchar(16) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户手机', `password` varchar(32) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户密码', `salt` varchar(16) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户附加混淆码', `avatar_file` varchar(128) CHARACTER SET utf8 DEFAULT NULL COMMENT '头像文件', `sex` tinyint(1) DEFAULT NULL COMMENT '性别', `birthday` int(10) DEFAULT NULL COMMENT '生日', PRIMARY KEY (`uid`), KEY `user_name` (`user_name`(250)), KEY `complex_index` (`email`,`mobile`,`sex`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
准备的查询语句
explain select * from qz_users where user_name = "ryanhe";explain select * from qz_users where email = "x";explain select * from qz_users where email = "x" and mobile = "x" and sex=1;explain select * from qz_users where email = "x" and mobile = "x";explain select * from qz_users where email = "x" and sex = "x";explain select * from qz_users where sex = "x" and mobile = "x";explain select * from qz_users where mobile = "x" and sex = "0";
结果分析
使用 user_name 条件
explain select * from qz_users where user_name= "x";
结果
分析
| 是否走索引 | 索引名称 | 扫描记录数 |
|---|---|---|
| 是 | user_name | 1 |
使用 email 条件
explain select * from qz_users where email = "x";
结果
分析
| 是否走索引 | 索引名称 | 扫描记录数 |
|---|---|---|
| 是 | complex_index | 7 |
使用 email + mobile + sex条件
explain select * from qz_users where email = "x" and mobile = "x" and sex=1;
结果
分析
| 是否走索引 | 索引名称 | 扫描记录数 |
|---|---|---|
| 是 | complex_index | 1 |
使用 email + mobile 条件
explain select * from qz_users where email = "x" and mobile = "x";
结果
分析
| 是否走索引 | 索引名称 | 扫描记录数 |
|---|---|---|
| 是 | complex_index | 7 |
使用 email + sex 条件
explain select * from qz_users where email = "x" and sex = "x";
结果
分析
| ][3] 是否走索引 | 索引名称 | 扫描记录数 |
|---|---|---|
| 是 | complex_index | 7 |
使用 sex + mobile 条件
explain select * from qz_users where sex = "x" and mobile = "x";
结果
分析
| 是否走索引 | 索引名称 | 扫描记录数 |
|---|---|---|
| 否 | 97185 |
使用 mobile+ sex 条件
explain select * from qz_users where mobile = "18602199680" and sex = "0";
结果
分析
| 是否走索引 | 索引名称 | 扫描记录数 |
|---|---|---|
| 否 | 97185 |
看完上述内容,你们掌握怎么在Mysql中使用explain分析索引的走向的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
索引
分析
结果
名称
条件
用户
准备
字段
语句
内容
数据
方法
更多
问题
束手无策
为此
三个
原因
头像
姓名
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融科技
上海睿民互联网科技有限公司
湖南永感互联网科技有限公司
科技平台互联网
安徽鑫晟辉互联网科技
伴你行互联网科技有限公司
互联网科技论坛
北京大学互联网科技怎么样
中国互联网有什么科技含量
广州恒生互联网科技有限
科技互联网大厂
重庆互联网医院沙龙医盟信息科技
移动互联网科技公司
南博望互联网科技有限公司
小米互联网科技园入驻
深圳互联网科技的发展
广州千川互联网科技有限公司
互联网科技企业商标注意事项
科技互联网经济论坛
六子台科技互联网展会
互联网科技公司
河南云网互联网络科技有限公司
互联网科技保险
互联网科技ppt模板
融贸通互联网科技
齐家互联网科技有限公司
崇明区互联网教育科技诚信经营
成都互联网科技公司工作好不好
有人说阿里系是互联网科技企业
每日互联网科技新闻