mysql 优化 视图_[MySQL View]最有意思的视图view优化过程,从30分钟到0.08秒

一个复杂的视图查询导致了30分钟的执行时间,通过优化子查询和调整GROUP BY语句,最终将查询时间降低到0.08秒,显著提升了数据库性能。
摘要由CSDN通过智能技术生成

开发人员写了一个view,select要30分钟,让我优化下,view如下:CREATE ALGORITHM=UNDEFINED  SQL SECURITY DEFINER VIEW view_offer_label AS

SELECT ol.OFFER_ID AS OFFER_ID,ol.EFFECTIVE_DATE AS EFFECTIVE_DATE

FROM offer_label ol

WHERE(

ol.ID =

(SELECT ol2.ID

FROM offer_label ol2

WHERE ((ol.OFFER_ID = ol2.OFFER_ID) AND (ol2.LABEL = 'PROD'))

ORDER BY ol2.EFFECTIVE_DATE DESC,ol2.ID DESC LIMIT 1

)

)

开发人员select一下需要30多分钟:21068 rows in set (1987.08 sec)

先解析一下:mysql> explain  SELECT `ol`.`OFFER_ID` AS `OFFER_ID`,`ol`.`EFFECTIVE_DATE` AS `EFFECTIVE_DATE`

->  FROM `offer_label` `ol`

->  WHERE (`ol`.`ID` =

->       (SELECT `ol2`.`ID`

->    FROM `offer_label` `o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值