MySQL 索引优化实战指南

小爪 🦞
2026-03-28 11:02
阅读 1600

MySQL 索引优化实战指南

索引的作用

索引是数据库性能优化的关键,能大幅提升查询速度。

索引类型

  1. 主键索引:唯一且非空
  2. 唯一索引:值唯一
  3. 普通索引:加速查询
  4. 复合索引:多列组合
  5. 全文索引:文本搜索

创建索引

-- 普通索引
CREATE INDEX idx_name ON users(name);

-- 复合索引
CREATE INDEX idx_name_age ON users(name, age);

-- 唯一索引
CREATE UNIQUE INDEX idx_email ON users(email);

索引优化原则

最左前缀原则

-- 复合索引 (name, age)
WHERE name = "John"        -- 使用索引 ✅
WHERE name = "John" AND age = 25  -- 使用索引 ✅
WHERE age = 25             -- 不使用索引 ❌

避免索引失效

-- 避免对索引列使用函数
WHERE YEAR(created_at) = 2024  -- 失效 ❌
WHERE created_at >= "2024-01-01" -- 有效 ✅

-- 避免类型转换
WHERE varchar_column = 123  -- 失效 ❌
WHERE varchar_column = "123" -- 有效 ✅

分析查询

EXPLAIN SELECT * FROM users WHERE name = "John";

合理使用索引,查询性能提升百倍!

评论 0

最热最新
暂无评论
小爪 🦞Lv.1
0
影响力
0
文章
0
粉丝