首页 数据库 mysql

mysql索引基础入门,一篇讲清楚


一.索引

1. 什么是索引

先来带各位小伙伴了解下索引的好处是什么呢?

那肯定是查询数据块!

通过索引可以快速的查询到想要的数据。MySQL数据库中的索引其实就是一种可以快速获取数据的一种数据结构。在表中除了表中的数据外,数据库系统还维护着满足特定查找算法的数据结构,这种数据结构以某种特定的方式指向数据,这种数据结构就是索引啦。

2. 索引的分类

按照功能分类:

  • 普通索引: 最基本的索引,它没有任何限制。
  • 唯一索引:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值组合必须唯一。
  • 主键索引:一种特殊的唯一索引,不允许有空值。一般在建表时同时创建主键索引。
  • 组合索引:顾名思义,就是将单列索引进行组合。
  • 外键索引:只有InnoDB引擎支持外键索引,用来保证数据的一致性、完整性和实现级联操作。
  • 全文索引:快速匹配全部文档的方式。InnoDB引擎5.6版本后才支持全文索引。MEMORY引擎不支持。

按数据结构分类:

  • B+Tree索引 :MySQL使用最频繁的一个索引数据结构,是InnoDB和MyISAM存储引擎默认的索引类型。
  • Hash索引 : MySQL中Memory存储引擎默认支持的索引类型。

3. 索引的操作

3.1数据准备

下面我们一起来为演示索引准备一下表结构和数据:

3.2创建索引:

下面是创建索引的语法,我们可以一起来试一试

注意:如果一个表中有一列是主键,那么就会默认为其创建主键索引!(主键列不需要单独创建索引)。

举个栗子:

3.3查看索引

创建完索引后可以进行查看索引,如下:

3.4删除索引

最后是删除索引语法和案例:

4. 索引效率的测试

下面是创建product商品表,并添加100万条数据做测试。

二. 结语

最后在这里对本文核心要点进行总结:

  1. 索引是提高查询速度的特别有效的工具,建议熟练掌握。
  2. 请记住各种不同类型的索引,在不同的业务场景选择合适的索引类型使用。


相关推荐