外观
索引的分类
来源:语雀原文 | 整理日期:2026-09-22
主键索引(Primary Key Index):
- 主键索引是唯一且特殊的索引,用于唯一标识表中的每一行。创建主键时,MySQL会自动创建一个唯一索引。
- 主键索引不允许有NULL值,并且表中每一行的主键值必须是唯一的。

唯一索引(Unique Index):
- 唯一索引确保列中的所有值都是唯一的,但允许有NULL值。一个表可以有多个唯一索引。
- 通常用于需要保证数据列唯一性的场合。
sql
CREATE UNIQUE INDEX unique_email ON users (email);普通索引(Regular Index):
- 普通索引是最基本的索引类型,不强制唯一性。它们可以加快查询速度,但对插入、更新性能有一定影响。
- 可以在一个表上创建多个普通索引。

复合索引(Composite Index):
- 复合索引是由多个列组成的索引,用于覆盖多个列的查询。
- 在执行涉及多个列的查询时,复合索引能显著提高查询效率

总结
对于如何选择和使用索引,以下几点建议可能对你有帮助:
- 根据查询模式选择索引列:如果某列频繁出现在WHERE子句、JOIN条件或者ORDER BY子句中,应考虑在该列上建立索引。
- 限制索引数量:虽然索引可以加快查询速度,但过多的索引会影响插入和更新操作性能,因此应平衡索引数量和写操作性能。
- 利用复合索引:对涉及多个列的查询,可以考虑创建复合索引,但要注意复合索引的列顺序,应根据查询频率和查询类型来决定。
希望这些信息能帮助到你在MySQL数据库管理中的索引设计