首頁 > 資料庫 > mysql教程 > [MySQLView]最有意思的视图view优化过程,从30分钟到0.08秒_MySQL

[MySQLView]最有意思的视图view优化过程,从30分钟到0.08秒_MySQL

WBOY
發布: 2016-06-01 13:18:10
原創
1175 人瀏覽過

bitsCN.com

开发人员写了一个view,select要30分钟,让我优化下,view如下:

开发人员select一下需要30多分钟:

21068 rows in set (1987.08 sec)

先解析一下:

mysql> explain SELECT `ol`.`OFFER_ID` AS `OFFER_ID`,`ol`.`EFFECTIVE_DATE` AS `EFFECTIVE_DATE`

看到有 Using filesort,要优化where后面的子判断,优化如下:

select max(ol2.ID)

有些不对劲,再仔细看了view的结构,恍然大悟:

优化成如下样子:

CREATE ALGORITHM=UNDEFINED SQL SECURITY DEFINER VIEW view_offer_label AS

执行结果为:

21068 rows in set (0.08 sec)

不到0.08秒,数据完全正确。

bitsCN.com
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板