简简单单的MySQL索引基础

前言

整理了一下关于MySQL索引的相关技术点,然后发出来给大家看看。

正文

索引(Index)是一种帮助MySQL高效获取数据的数据结构,索引的目的在于提高查询效率,可以类比字典。可以简单的理解为“排好序的快速查找数据结构”。
数据本身之外,数据库还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法,这种数据结构就是索引。
例:
如果在英汉词典中要找”Super“这个词,我们肯定是先找到”s“然后在”s“下查找”u“,然后再依次找到”per“,最终找到整个词“Super”。
其中每个字母都是一个索引,现在想想如果没有索引是不是要从a-z所有的字母都要找一遍呢。

在这里插入图片描述

优点:
1、提高数据检索的效率,降低数据库的IO成本。
2、通过索引对数据进行排序,降低数据排序的成本,降低了CPU的消耗。

缺点:
1、虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。
2、索引是一张表,该表保存了主键与索引字段,并指向实体表的记录,所以索引列也要占用空间。

下图就是一种可能的索引方式实例:

在这里插入图片描述

1、创建普通索引
单独创建索引,最基本的索引创建

CREATE INDEX 索引名称 ON 表名称(字段名称);

2、创建唯一索引
唯一索引:索引的值必须唯一,但允许为空值。

CREATE UNIQUE INDEX 索引名称 ON 表名称(字段名称);

3、删除索引

DROP INDEX [索引名称] ON 表名称;

4、显示索引信息

SHOW INDEX FROM 表名称;
结束

文章不能写的太长,太长了看不下去,所以我准备分开来写,这篇就是最基础的索引介绍,下一篇介绍一下索引的优化,可能会多写几篇文章。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值