你在简历中写到“熟悉MySQL索引优化、慢SQL处理”,请举例说明你在项目中遇到过的一个慢查询,以及你是如何定位和解决的。
2026/6/26 2:27:21 网站建设 项目流程

在xxxxx项目中,有一个查询“用户近7天积分变动明细”的接口响应超过3秒。

定位:开启MySQL慢查询日志,发现一条SELECT * FROM points_log WHERE user_id = ? AND create_time BETWEEN ? AND ?。

分析:使用EXPLAIN发现type=ALL(全表扫描),rows扫描了20万行。

解决:创建联合索引(user_id, create_time),并改写查询只返回必要字段(避免SELECT *)。优化后type=ref,扫描行数下降到几十行,响应时间降到50ms。

同时我将该经验沉淀到团队开发规范中,要求所有范围查询必须带上索引字段。

ps:ALL、index、range、ref、eq_ref、const 这几个常见 type 的优先级。type=ref 是 MySQL 执行计划里的访问类型,代表非唯一索引的等值匹配。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询