剑指Offer(sql)——密集索引与稀疏索引

密集索引和稀疏索引的区别有:

  1. 密集索引文件中的每个搜索码值都对应一个索引值。
  2. 稀疏索引文件只为索引码的某些值建立索引项。

然后我们举一个密集索引和稀疏索引的例子:

Mysql中有两种存储引擎,MAISAM和INNODB。

在MAISAM中,

不管是主键索引,唯一键索引还是普通索引,其索引都属于稀疏索引。

在InnoDB中,

若一个主键被定义,则主键则作为密集索引。
若没有主键被定义,该表的第一个唯一非空索引则作为密集索引。
若不满足以上条件,INNODB内部会生成一个隐藏主键(密集索引)。
非主键索引存储相关键位和其对应的主键值,包含两次查找。

剑指Offer(sql)——密集索引与稀疏索引

相关文章: