MySQL 索引 —— 提升查询效率的核心

分类:数据库 时间:2026-02-24 浏览:1
1

一、索引的作用

索引是 MySQL 的 “目录”,用于快速定位数据,大幅提升查询效率;但会增加插入 / 更新 / 删除的开销(需维护索引)。

二、索引类型

索引类型关键字适用场景
主键索引PRIMARY KEY主键字段(自动创建)
唯一索引UNIQUE唯一字段(如用户名、订单号)
普通索引INDEX普通查询字段(如年龄、性别)
联合索引INDEX (字段 1, 字段 2)多字段联合查询(如 age+gender)

三、索引操作

1. 创建索引

-- 给user表的age字段创建普通索引
CREATE INDEX idx_user_age ON user(age);

-- 创建联合索引(age+gender)
CREATE INDEX idx_user_age_gender ON user(age, gender);

-- 创建表时指定索引
CREATE TABLE goods (
    id INT PRIMARY KEY AUTO_INCREMENT,
    goods_name VARCHAR(100) NOT NULL,
    price DECIMAL(10,2) NOT NULL,
    INDEX idx_goods_price (price) -- 普通索引
);

2. 查看索引

-- 查看表的所有索引
SHOW INDEX FROM user;

3. 删除索引

-- 删除age字段的普通索引
DROP INDEX idx_user_age ON user;

四、索引使用原则

  1. 适合加索引的字段:查询频繁、区分度高(如用户名)、作为 WHERE 条件的字段;

  2. 不适合加索引的字段:数据量小、更新频繁、重复度高(如性别);

  3. 联合索引遵循 “最左前缀原则”:查询条件需包含联合索引的第一个字段才会生效。

总结

  1. 索引是提升查询效率的关键,但需平衡查询和写入性能;

  2. 常用索引类型有主键索引、唯一索引、普通索引、联合索引;

  3. 联合索引需遵循最左前缀原则,避免无效索引。

文章链接:http://www.qwkf.cn//shujuku/37.html
文章标题:MySQL 索引 —— 提升查询效率的核心

相关阅读