MySQL优化查询
【摘要】 MySQL 查询优化可以按这个顺序:先看执行计划EXPLAIN SELECT ...重点关注 type、key、rows、Extra。给 WHERE / JOIN / ORDER BY 常用字段建索引CREATE INDEX idx_user_name ON user(name);建立合适的联合索引INDEX(a, b, c)遵循最左匹配原则。避免索引失效不要对索引列使用函数:WHERE Y...
MySQL 查询优化可以按这个顺序:
-
先看执行计划
EXPLAIN SELECT ...重点关注
type、key、rows、Extra。 -
给 WHERE / JOIN / ORDER BY 常用字段建索引
CREATE INDEX idx_user_name ON user(name); -
建立合适的联合索引
INDEX(a, b, c)遵循最左匹配原则。
-
避免索引失效
-
不要对索引列使用函数:
WHERE YEAR(date)=2026 -
避免隐式类型转换
-
避免
LIKE '%xxx' -
尽量不要
OR大量连接不同字段
-
-
减少查询数据量
-
不要
SELECT * -
合理使用
LIMIT -
分页尽量避免超大
OFFSET
-
-
优化 JOIN
-
JOIN 字段建立索引
-
尽量先过滤数据,再 JOIN
-
注意字段类型必须一致
-
-
大表考虑
-
分区
-
分库分表
-
归档历史数据
-
缓存热点数据
-
-
慢查询开启 Slow Query Log
找出真正耗时的 SQL,而不是凭感觉优化。
核心原则:先 EXPLAIN → 找全表扫描/大量 rows → 调整索引和 SQL → 再测试。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)