创建单列索引可提升查询效率,使用CREATE INDEX或建表时添加INDEX关键字,如CREATE INDEX idx_email ON users(email),建议合理命名并避免频繁更新列。

在 mysql 中创建单列索引是为了提升针对某一列的查询效率,尤其是在 WHERE、ORDER BY 或 JOIN 条件中频繁使用的列上。创建单列索引的方法简单直接,可以通过 CREATE INDEX 语句或在建表时使用 INDEX 关键字来实现。
使用 CREATE INDEX 创建单列索引
这是最常见的方法,适用于已存在的表。语法如下:
CREATE INDEX 索引名 ON 表名 (列名);
例如,有一个名为 users 的表,想在 email 列上创建索引:
CREATE INDEX idx_email ON users (email);
这会为 email 列创建一个名为 idx_email 的普通单列索引。
在建表时定义单列索引
如果在设计表结构阶段就明确需要索引,可以在 CREATE table 语句中直接添加:
CREATE TABLE users ( id int PRIMARY KEY, email VARCHAR(100), name VARCHAR(50), INDEX idx_email (email) );
这样在表创建的同时就建立了 email 列的索引。
注意事项和建议
- 索引名应具有可读性,通常以 idx_ 开头,后接表名和列名,如 idx_users_email
- 并非所有列都适合加索引,高频率更新的列会因维护索引而影响性能
- 对于唯一性要求的列(如邮箱、身份证号),考虑使用 UNIQUE INDEX 防止重复值
- 可以用 SHOW INDEX FROM 表名 查看已创建的索引
基本上就这些。只要掌握 CREATE INDEX 语法和合理命名习惯,就能高效地为 MySQL 表添加单列索引,不复杂但容易忽略细节。


