背景:一个写了 60 行的排行榜 SQL 七月做运营后台,产品要「每个城市的销售 Top3」和「月度累计业绩」。第一版我用子查询嵌套,SQL 拉到 60 多行,GROUP BY 套 GROUP BY,执行计划里全是 DEPENDENT SUBQUERY,跑一次 3 秒多。同事提醒我:你们库早升 My
把 MySQL 5.7 升到 8.0,五个报错排了三天 4 月初,我们把订单库的 MySQL 从 5.7.26 升到了 8.0.19。起因很实际:运营要做"每个用户的消费排名",5.7 里只能用会话变量写那种很难维护的 SQL,8.0 有窗口函数 ROW_NUMBER(),一行搞定。 升级过程本身(