MySQL - 索引



索引是一种数据结构,它可以提高数据库表操作的速度。它们是一种特殊的查找表,指向数据。索引可以在一个或多个列上创建,为快速随机查找和有效排序访问记录提供了基础。

但是,索引会降低表上 INSERT 和 UPDATE 操作的效率。这是因为当我们在表中插入或更新数据值时,也需要相应地修改索引。因此,它们并不总是适合使用。

用户看不到索引,它们只是用于加速查询,并将被数据库搜索引擎用于非常快速地定位记录。

MySQL索引类型

索引可以在 MySQL 表的一个或多个列上定义。在表列上添加索引的决定取决于需要搜索的数据类型。MySQL 提供以下类型的索引:

  • 简单索引

  • 唯一索引

  • 主键索引

  • 全文索引

  • 降序索引

简单索引

简单索引是一种基本类型的索引,其中可以轻松搜索插入到包含此索引的列中的值。在这种情况下,列可以包含重复值或 NULL 值。

唯一索引

唯一索引不允许将任何重复值插入到表列(在该列上定义了索引)中。它可以添加到表的单个列或多个列。如果将其添加到单个列,则该列的值必须唯一。但是,如果将其添加到多个列,则这些列中值的组合必须唯一。

主键索引

主键索引是唯一索引的扩展,因为主键列必须始终包含唯一值,并且这些值不能为 NULL。主键可以设置为数据库表的单个列,也可以设置为多个列(不推荐)。

全文索引

在数据库中,有时您需要搜索文本块而不是记录。您可以为此使用全文索引。顾名思义,它用于使表的文本搜索更容易。

降序索引

降序索引仅在 8.0 之后版本的 MySQL 中可用。它是一个简单的索引,用于以反向顺序存储数据。使用此索引,可以轻松搜索插入到数据库表中的最新值。

广告