MySQL 中的主键索引具有以下特征:
1. **唯一性**:主键索引要求列的值必须是唯一的,即该索引列中的每个值必须是唯一的,不允许重复值出现。
2. **非空性**:主键索引列的值不能为 NULL,确保每行数据都有一个唯一的标诋符。
3. **默认聚集索引**:在 InnoDB 存储引擎中,主键索引默认是聚集索引。这意味着数据行按照主键的顺序存储,可以提高查询效率,减少 IO 操作。
4. **快速查找**:通过主键索引可以快速定位到表中唯一的一条记录,加快数据检索的速度。
5. **隐式约束**:主键索引在逻辑上也是一种约束,确保数据的完整性和一致性。插入或更新数据时,系统会自动检查主键的唯一性,防止重复数据的插入。
6. **可以由多个列组成**:主键可以由单个列或多个列组成,称为复合主键。复合主键中的所有列的组合必须是唯一的。
7. **自动生成**:主键可以手动指定也可以自动生成。如果不显式指定主键值,在插入数据时,MySQL 会自动生成一个唯一的主键值。