索引–加快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

(0)
郭靖的头像郭靖
上一篇 2022年8月16日 下午6:17
下一篇 2022年8月17日 下午3:03

相关推荐

  • SqlServer查看默认编码格式

    先使用系统函数SERVERPROPERTY查询当前数据库的编码名称,再使用编码名称通过系统函数COLLATIONPROPERTY查询编码编号,再进行比对。示例如下: 查询比对如下结果:

    2023年2月18日
    35000
  • MySQL的备份与还原

    关于删库跑路的事故现在已经屡见不鲜了,数据备份的必要性是企业数据管理极其重要的一项工作。关于数据备份、恢复也有很多场景及方法,本系列也会将主要的方法进行演示。 方式一:通过cmd命令备份 备份 数据表结构+数据 db1为要备份的数据库名,db2.sql为输出备份文件名称备份后输出一个sql文件,存在指定的/root/mysql_bak/目录下 备份数据库的表…

    2022年6月10日
    67400
  • 数据库慢查询及其优化

    我们经常会谈到数据库慢查询。那么什么是数据库慢查询以及导致数据库慢查询的常见原因,以及对应的解决方法。 1、什么是数据库慢查询 数据库慢查询,就是查询时间超过了我们设定的时间的语句。可以通过语句查看设定的时间: 默认的设定时间是10秒,也可以通过下面这个语句修改默认的设定时间: 2、MySQL 慢查询的相关参数解释 3、慢查询日志配置 默认情况下slow_q…

    2022年6月11日
    56700
  • windows server 2012上安装sql server 2008图文详解

    1.下载sql server 2008镜像文件 2.关闭防火墙 sql server 2008安装过程,检测安装进程会有报错,避免安装失败,这里先关闭防火墙 3.运行并安装程序 选择管理员身份运行 选择运行程序二不获取帮助 进入安装中心后选择 安装,再选择 全新安装 继续选择运行程序而不获取帮助 选择后如图,系统会自动检测系统,没警告说明可以定确定 输入密钥…

    2022年8月4日
    2.4K00
  • mysql innodb临时表btmp1文件太大

    某日生产环境(数据库实例)告警,磁盘使用率过高! 检查发现是由于mysql的data目录的ibtmp1文件太大,达到了30GB 一、ibtmp1文件是干嘛的? 就是用来存放临时表查询时的数据。 二、ibtmp1增长的原因是什么?主要与SQL有关,尤其是大量的分组聚合,排序,join查询SQL.通常如下情况会造成iptmp1上涨: 查询语句会先查询temp_t…

    2023年12月18日
    16200

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信