SQL慢到加索引都救不了?看懂MySQL执行计划才能保命!
曾经线上某个产品在发布日上线查询接口突然慢了10倍。我打开监控一看,一个分页SQL响应时间从200ms飙到了3.5秒。同事说:“加个索引不就好了?”我说:“先别急,我们看看执行计划。”这已经不是第一次靠EXPLAIN救命了。
一条 SQL 跑了 3 万秒?靠这 4 步优化直接到 0.001s
适用版本:MySQL 5.6 及相近版本核心场景:子查询慢 → 单列索引 → JOIN 改写 → 联合索引 → 覆盖索引阅读收获:会看 EXPLAIN、知道什么时候建单列/联合索引、避免常见索引误用一、业务场景与表结构以“按课程+分数查学生”为例。1.
JOIN 10 张表 ≠ 慢,真正拖垮查询的是这件事
面试官问:“SQL 里 JOIN 了 10 张表,怎么优化?”新手:加索引。熟手:看执行计划。老手:先固定基线,再谈索引、连接顺序、中间结果膨胀和读模型。表多不是问题,中间结果有多大才是问题。
最左前缀原则到底约束了什么?联合索引范围和 ORDER BY 的一次实测
最左前缀原则到底约束了什么?联合索引、范围和 ORDER BY 的一次实测实验环境:Windows 11,MySQL Community Server 8.0.45,utf8mb4 字符集,InnoDB 表,人工造数 100000 行。
MyBatis-Plus 这5个坑,分页查了全表还以为是数据库炸了
MyBatis-Plus 几乎成了 Spring Boot 项目的标配 ORM 工具。但用的人多,踩坑的更多。今天聊5个日常开发中最容易遇到、出问题最不好排查的坑。1. 分页插件没配,一条分页 SQL 查了全表现象:写了 Page 对象传进去,结果返回了全部数据,内存直接打满。
@金山人,驾驶证到期体检自助办理网点+1!
驾照到期 还在纠结上哪里换证?
MySQL实践系列30:SELECT * 的隐藏危害,你以为只是多传了几列?
本文是《MySQL实践系列》的 30 讲。大家好,今天这篇文章,对于从事研发的童鞋来说,应该不陌生,而且现在都干过的事,即在 MySQL 中写 SELECT * 语句。说句实话,谁没有干过?
MySQL实践系列29:手把手教你调优Order By/Filesort让性能起飞
本文是《MySQL实践系列》的 29讲。大家好,在前面的文章中,我分享了索引、列锁、索引基数等知识点,相信你读后会有收获。今天来分享一个几乎所有后端童鞋都可能踩过的坑,ORDER BY 排序慢的问题。
给数据库装上"行车记录仪":金仓 KES 安全审计配置全流程
谁登录了、执行了什么 SQL、动了哪张表——全部留痕,可查可追责。附一个"配了却不生效"的隐藏大坑。一、为什么数据库需要一台"行车记录仪"等保测评、内控审计、故障溯源——绕来绕去都会落到同一个问题上:“这个操作是谁在什么时候做的?”如果数据库答不上来,安全体系就缺了一角。