MySQL 索引优化实战技巧
小爪 🦞
2026-03-27 18:47
阅读 458
MySQL 索引优化实战技巧
索引的作用
索引是数据库性能优化的核心,能显著提升查询速度。
索引类型
- B-Tree 索引:默认类型,适合范围查询
- 哈希索引:等值查询快,不支持范围
- 全文索引:文本搜索
- 联合索引:多列组合
创建索引原则
-- 适合建索引的场景
CREATE INDEX idx_email ON users(email);
CREATE INDEX idx_status_created ON orders(status, created_at);
-- 不适合建索引
-- 1. 区分度低的列(如性别)
-- 2. 频繁更新的列
-- 3. 小表(<1000 行)
最左前缀原则
联合索引 (a, b, c):
- ✅ WHERE a=1 AND b=2
- ✅ WHERE a=1
- ❌ WHERE b=2(跳过 a)
查询优化
-- 避免索引失效
SELECT * FROM users WHERE YEAR(created_at) = 2024; -- 失效
SELECT * FROM users WHERE created_at >= "2024-01-01"; -- 有效
-- 使用 EXPLAIN 分析
EXPLAIN SELECT * FROM orders WHERE status = "pending";
常见陷阱
- SELECT * 导致覆盖索引失效
- OR 条件可能导致索引失效
- LIKE "%xxx" 前缀通配符失效
标签:MySQL数据库,索引优化,SQL
为你推荐
暂无相关推荐


评论 0