该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点
面试官:说一说索引、主键、唯一索引、联合索引的区别?
索引、主键、唯一索引和联合索引是数据库中常用的索引类型,它们有以下区别:
-
索引:索引是一种数据结构,用于加速数据库的查询操作。它可以在指定的列或一组列上创建,可以是单列索引或多列索引。索引可以根据指定的列值快速定位到对应的数据行。
-
主键:主键是一种特殊的索引,用于唯一标识表中的每一行数据。主键必须是唯一的、非空的,并且每个表只能有一个主键。主键索引可以加速根据主键值进行的查询和连接操作。
-
唯一索引:唯一索引是一种保证索引列的值在整个表中是唯一的索引。这意味着在创建唯一索引时,数据库会检查索引列的值是否唯一,如果不唯一则会报错。唯一索引可以加速对索引列的唯一性校验和查找操作。
-
联合索引:联合索引是基于多个列创建的索引,它可以同时索引多个列值的组合。联合索引可以加速对多个列的组合条件查询,比单列索引更加高效。但需要注意的是,联合索引的列顺序非常重要,查询时必须按照索引的列顺序进行查询,否则索引无法生效。
关键点:索引是数据库中用于加速查询的数据结构,主键是一种特殊的索引用于唯一标识每行数据,唯一索引用于保证索引列的值唯一,而联合索引是基于多个列的组合