一、为什么慢
没有合适索引时,MySQL 只能全表扫描。用 EXPLAIN 查看执行计划,关注 type 与 rows:
EXPLAIN SELECT * FROM orders WHERE user_id = 100 AND status = 1;
二、组合索引最左前缀
建立 (user_id, status) 组合索引,查询必须命中最左列才能生效。
ALTER TABLE orders ADD INDEX idx_user_status (user_id, status);
三、避免索引失效
不要在索引列上做函数运算或隐式类型转换,否则索引失效回退全表扫描。
鲁ICP备17012030号-23
鲁公网安备37098202000884号