zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MySQL案例:一个有趣的慢查询问题分析

mysql案例 分析 一个 查询 有趣 问题
2023-09-27 14:25:06 时间

前言

前几天,有位客户提了一个慢查询问题,需要这边帮忙分析一下;整个排查过程还是非常有趣,涉及到一些值得关注的知识点,因此在这里记录一下。

场景分析

(1)慢查询是一条简单的update语句:UPDATE xxx_order set status = 6 where order_no = 'xxx',耗时30s,扫描行数1400w

(2)查看表结构,确认order_no列存在索引,不存在问题

CREATE TABLE `xxx_order` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `order_no` varchar(64) NOT NULL COMMENT '订单编号',
  ...
  PRIMARY KEY (`id`),
  ...
  KEY `idx_order_no_status` (`order_no`,`status`),
  ...
) ENGINE=InnoDB AUTO_INCREMENT=269006244 DEFAULT CHARSET=utf8mb4 COMMENT='xxx'

复制

(3)查看执行计划,