问题描述
我有两张表
一张groupbuy_order表(团购订单表) 数据只有几百行
ID 主键
orderID 订单编号 (key索引)
groubuyID 团购编号 (key索引)
一张order表(订单表) 数据大概40W条
ID 主键
orderID 订单编号(unique key索引)
….
….
orderStatus 订单支付状态
问题出现的环境背景及自己尝试过哪些方法
昨天代码上线以后 CPU一直跑高(我们数据库是阿里云的2核4G) 导致其他业务也没有办法访问
后来请阿里云诊断了下 发现扫描与返回比很高 基本都是全表扫描
但是关联的索引我们已经都加过了
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
多数慢查询都是这两个表关联,其他慢查询都是在此基础上变化的
SELECT a.orderID
FROM
groupbuy_order
a
LEFT JOIN
order
o
ON
o
.
orderID
=
a
.
orderID
WHERE
groupbuyID
= ‘xxxxx’
and
orderStatus
= ‘已支付’
explain结果如下
你期待的结果是什么?实际看到的错误信息又是什么?
有什么好的解决方法嘛?