稠密索引和稀疏索引

390 阅读1分钟

稠密索引和稀疏索引

在学习kafka的底层存储架构的时候看到了稀疏索引的概念。不明所以,就去查询了下

基本概念

  • 稠密索引:在密集索引中,数据库中的每个搜索键值都有一个索引记录。这样可以加快搜索速度,但需要更多空间来存储索引记录本身。索引记录包含搜索键值和指向磁盘上实际记录的指针。

  • 稀疏索引:在稀疏索引中,不会为每个搜索关键字创建索引记录。此处的索引记录包含搜索键和指向磁盘上数据的实际指针。要搜索记录,我们首先按索引记录进行操作,然后到达数据的实际位置。如果我们要寻找的数据不是我们通过遵循索引直接到达的位置,那么系统将开始顺序搜索,直到找到所需的数据为止。

使用场景

在Innodb引擎中,主键使用的是稠密索引,其他都使用的是稀疏索引。

优缺点

  • 稠密索引会占用更多的空间,但是检索速度更快
  • 稀疏索引占用的空间较少,但是检索速度慢