MySQL 索引:先看查询形状再建索引
索引不是字段越多越好,而是要贴合查询形状。先看 where、order by、limit,再决定联合索引顺序。
比如订单列表经常按用户、状态和创建时间查询,索引可以从等值条件开始,再接排序字段。
SELECT * FROM orders
WHERE user_id = ? AND status = ?
ORDER BY created_at DESC
LIMIT 20;对应索引可以考虑 (user_id, status, created_at)。但如果还有按状态扫全站订单的后台查询,就要另外评估,不要指望一个索引服务所有场景。
建索引前后都要看 EXPLAIN。rows、key、Extra 比“我觉得会快”可靠得多。
索引设计的重点是取舍:提升高频查询,同时控制写入成本和维护成本。
版权申明
本文系作者 @blogger 原创发布在MySQL 索引:先看查询形状再建索引。未经许可,禁止转载。
评论
-- 评论已关闭 --
全部评论