数据库索引主要种类
数据库索引主要种类

唯一索引
唯一索引可以保证一个或多个列的值在数据表中唯一。唯一索引要求索引列的值不能重复,在创建唯一索引时,如果有重复值,索引将无法创建成功,因此在设计数据表时,需要考虑到唯一性约束。

主键索引
主键索引要求数据库表中每行数据都必须有一个唯一的标识,这个标识被称为主键。主键索引可以加速数据表的查找和数据的更新操作,同时保证数据表的记录唯一性和数据完整性。

聚集索引
聚集索引将数据行和索引存储在一起,可以按照数据表的主键或者唯一索引来组织数据表的物理存储方式。每个数据表只能有一个聚集索引,相比于非聚集索引,聚集索引数据访问速度更快。

唯一索引
唯一索引可以保证一个或多个列的值在数据表中唯一。唯一索引要求索引列的值不能重复,在创建唯一索引时,如果有重复值,索引将无法创建成功,因此在设计数据表时,需要考虑到唯一性约束。

主键索引
主键索引要求数据库表中每行数据都必须有一个唯一的标识,这个标识被称为主键。主键索引可以加速数据表的查找和数据的更新操作,同时保证数据表的记录唯一性和数据完整性。

聚集索引
聚集索引将数据行和索引存储在一起,可以按照数据表的主键或者唯一索引来组织数据表的物理存储方式。每个数据表只能有一个聚集索引,相比于非聚集索引,聚集索引数据访问速度更快。
数据库索引的优缺点
数据库索引的优缺点
创建数据库索引的优点及其局限性包含以下几方面:
- 提高查询效率:索引可以加速查询速度,提升数据库的性能;
- 保证数据的唯一性:通过数据库索引可以限制重复值的插入,保证数据的唯一性;
- 快速排序和分组:使用数据库索引可以大幅提升表与表之间的跳转速度,加快排序和分组操作过程;
- 占用大量磁盘空间:创建数据库索引需要占用磁盘空间,因此当索引数量增多时,磁盘空间会被大量占用;
- 创建维护耗时长:当数据量巨大时,创建和维护数据库索引会耗费大量的时间。
哪些情况需要创建索引
哪些情况需要创建索引
常见的需要创建数据库索引的情况包括:
- 参考表的数据分布和查询频率:如果一个表的数据分布均匀,但某些列的查询频率很高,那么可以考虑为这些列创建索引;
- 遵循常见的索引使用规则:可以为经常用于连接的列创建索引,避免在索引列上使用函数等操作,提高查询效率;
- 观察慢查询日志:通过观察慢查询日志,如果发现某个 SQL 语句的执行时间过长,则可能是因为没有对相应的列创建索引,以此判断是否需要进行创建。