首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL数据库——索引

MySQL数据库——索引

原创
作者头像
落雨
发布2022-03-07 20:38:09
发布2022-03-07 20:38:09
31.7K0
举报
文章被收录于专栏:落雨的专栏落雨的专栏

概述

  • 索引在MySQL中也叫做"键",保存着数据位置的信息
  • 其作用是为了加快数据库的查询速度
  • 实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。

索引的使用

添加索引

代码语言:javascript
复制
alter table 表名 add index 索引名(字段名);

#案例
alter table classes add index my_name(name);
#给classes表中的name列添加名为my_name的索引

主键会自动创建索引,外键约束也会自动创建索引

删除索引

代码语言:javascript
复制
drop index 索引名 on 表名;

#案例
drop index my_name on classes;
#删除classes表中的my_name索引

添加联合索引

语法

联合索引又叫复合索引,是MySQL的InnoDB引擎中的一个索引方式,如果一个系统频繁地使用相同的几个字段查询结果,就可以考虑建立这几个字段的联合索引来提高查询效率。

代码语言:javascript
复制
alter table 表名 add index 索引名(字段名1,字段名2);

最左前缀原则

在使用联合索引时要注意有个最左前缀原则,最左前缀原则就是要考虑查询的字段的顺序,只有遵守这个原则才能最大地提高查询的效率。

比如index(name,age)支持name或者name,age组合查询,不支持age单独查询

代码语言:javascript
复制
select * from students where name = '张三';                 #使用了联合索引
select * from students where name = '张三' and age = 10;    #使用了联合索引
select * from students where age = 10;                      #没有使用联合索引

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 索引的使用
    • 添加索引
    • 删除索引
    • 添加联合索引
      • 语法
      • 最左前缀原则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档