专栏名称: 脚本之家
脚本之家(jb51.net)是国内专业的网站建设资源、脚本编程学习类网站,以后将为大家分享更多有用的信息,希望大家多多支持宣传。
目录
今天看啥  ›  专栏  ›  脚本之家

面试官:使用 MySQL 时你遇到过哪些索引失效的场景?

脚本之家  · 公众号  · 数据库  · 2025-06-01 17:00
    

主要观点总结

本文主要介绍了在MySQL中遇到索引失效的场景,包括使用like语句、not like语句、not in语句、not exists语句等情况下索引失效的情况,以及其他如使用函数、表达式、隐式转换、不等于、is not null语句、or语句等情况下索引失效的场景。同时,也介绍了在执行sql语句时使用执行计划进行分析的方法,以及执行计划中的属性含义。

关键观点总结

关键观点1: MySQL索引失效的场景

包括使用like语句、not like语句、not in语句、not exists语句等情况下索引失效的情况。

关键观点2: 索引失效与数据库版本的关系

索引失效的情况可能与数据库版本有关。

关键观点3: 执行计划的分析

使用执行计划(EXPLAIN)分析sql是否正确地使用了索引,以及执行计划中的属性含义。

关键观点4: 访问类型(type属性)的说明

包括eq_ref和ref的解释,eq_ref是指每行数据都是通过主键或唯一索引与另一张表做 join,ref是指使用普通索引(不包括唯一索引)进行查找。


文章预览

脚本之家  设为“ 星标 ⭐ ” 第一时间收到文章更新 来源 | 君哥聊技术(ID:gh_1f109b82d301)  面试官:使用 MySQL 时你遇到过哪些索引失效的场景? 我:MySQL 索引失效的场景有很多,我说一下我遇到的几个场景。 先假定有一张员工表,sql 如下: CREATE   TABLE `tb_staff`  ( `staff_id` tinyint ( 3 )  NOT NULL COMMENT '员工编号' , `id_no` varchar ( 20 )  DEFAULT NULL COMMENT '员工姓名' , `name` varchar ( 20 )  DEFAULT NULL COMMENT '员工姓名' , `email` varchar ( 200 )  DEFAULT NULL COMMENT '邮件地址' , `age` tinyint ( 3 )  DEFAULT NULL COMMENT '年龄' , `sex` tinyint ( 1 )  DEFAULT '0' COMMENT '性别,0:男 1:女' , `address` varchar ( 300 )  DEFAULT NULL COMMENT '家庭住址' , `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间' , `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间' ,   PRIMARY  ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览