> 데이터 베이스 > MySQL 튜토리얼 > [MySQLView]最有意思的视图view优化过程,从30分钟到0.08秒_MySQL

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

WBOY
풀어 주다: 2016-06-01 13:18:10
원래의
1174명이 탐색했습니다.

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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿