能简单说一下索引的分类吗?

从三个不同维度对索引分类:

mysql-f650c0b8-9ebe-4e17-ac7e-b8eb121756a1.png

基于基本使用的角度,可以将上述内容改写如下:

  • 主键索引:在 InnoDB 存储引擎中,默认为每个表设置的索引,用于唯一标识每一行数据,不允许重复值和 NULL 值。每个表只能有一个主键索引。
  • 唯一索引:用于确保数据列的唯一性,不允许重复值,但允许 NULL 值。一个表可以创建多个唯一索引,可以针对多个列进行创建。
  • 普通索引:基本的索引类型,没有唯一性限制,可以允许重复值和 NULL 值。用于提高查询的效率和速度。
  • 组合索引:由多个列值组成的索引,用于组合搜索多个列的条件,提高查询效率。组合索引的效率通常高于单个索引,可以根据查询需求选择合适的列进行组合索引的创建。

标签: java, Java面试题, MySQL, Java问题合集, MySQL面试题, Java编程, Java问题精选, Java常见问题