螺竹编程
发布于 2024-05-18 / 3 阅读
0

MySQL基础:索引

什么是索引

索引是满足某种特定查询算法的数据结构,而这些数据结构会以某种方式指向数据,从而实现高效查找数据。

为什么需要索引

用于提升数据库的查找速度。

使用索引的优缺点

优点:

  • 唯一索引可以保证数据库表中每一行的数据的唯一性。

  • 索引可以加快数据查询速度,减少查询时间。 缺点:

  • 创建索引和维护索引要耗费时间。

  • 索引需要占物理空间,除了数据表占用数据空间之外,每一个索引还要占用一定的物理空间。

  • 以表中的数据进行增、删、改的时候,索引也要动态的维护。

各种索引

  • 主键索引: 数据列不允许重复,不允许为NULL,一个表只能有一个主键。

  • 唯一索引: 数据列不允许重复,允许为NULL值,一个表允许多个列创建唯一索引。

  • 普通索引: 基本的索引类型,没有唯一性的限制,允许为NULL值。

  • 全文索引:是目前搜索引擎使用的一种关键技术,对文本的内容进行分词、搜索。

  • 覆盖索引:查询列要被所建的索引覆盖,不必读取数据行。

  • 组合索引:多列值组成一个索引,用于组合搜索,效率大于索引合并。

B+树作为数据库索引的原因

很适合磁盘存储,能够充分利用局部性远离,磁盘预读。

很低的树高度,能够存储大量数据。

索引本身占用的内存很小。

能够很好的支持单点查询,范围查询,有序性查询。