索引–加快MySQL查询
1.索引的描述
索引在MySQL中也叫做”键”,保存着数据位置的信息;
其作用是为了加快数据库的查询速度;
实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
2.索引的使用
添加索引
alter table 表名 add index 索引名(字段名);
#案例
alter table classes add index my_name(name);
#给classes表中的name列添加名为my_name的索引
主键会自动创建索引,外键约束也会自动创建索引
删除索引
drop index 索引名 on 表名;
#案例
drop index my_name on classes;
#删除classes表中的my_name索引
添加联合索引
语法
联合索引又叫复合索引,是MySQL的InnoDB引擎中的一个索引方式,如果一个系统频繁地使用相同的几个字段查询结果,就可以考虑建立这几个字段的联合索引来提高查询效率。
alter table 表名 add index 索引名(字段名1,字段名2);
复制
最左前缀原则
在使用联合索引时要注意有个最左前缀原则,最左前缀原则就是要考虑查询的字段的顺序,只有遵守这个原则才能最大地提高查询的效率。
比如index(name,age)支持name或者name,age组合查询,不支持age单独查询
select * from students where name = '张三'; #使用了联合索引
select * from students where name = '张三' and age = 10; #使用了联合索引
select * from students where age = 10; #没有使用联合索引
文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/5933
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· Apache Tomcat RCE漏洞复现(CVE-2025-24813)