国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

使用開窗函數優化查詢的一個案例

2024-07-21 02:46:02
字體:
來源:轉載
供稿:網友
使用開窗函數優化查詢的一個案例

早上檢查報警郵件時發現又是1000+的報警,于是查找兇手...最終找到了罪魁禍首,一個ETL查詢從晚上10點開始跑到凌晨1點50,好家伙足足跑了3小時50分鐘,阻塞了一片一片的JOB:

SELECT  ****FROM  AINNER JOIN (  SELECT XXX,A.END_DATE_REP,MAX(PUBLISH_DATE) AS PUBLISH_DATE  FROM A  INNER JOIN    (    SELECT XXX,MAX(END_DATE_REP) AS END_DATE_REP    FROM A    GROUP BY XXX   )B  ON A.XXX = B.XXX  AND A.END_DATE_REP=B.END_DATE_REP  GROUP BY A.XXX,A.END_DATE_REP ) CON A.XXX = C.XXXAND A.END_DATE_REP=C.END_DATE_REPAND A.PUBLISH_DATE=C.PUBLISH_DATELEFT JOIN (SELECT A.*     FROM B    JOIN   (   SELECT XXX,FISCAL_PERIOD,MAX(PUBLISH_DATE) AS  PUBLISH_DATE   FROM  B   GROUP BY XXX,FISCAL_PERIOD  ) D    ON B.XXX = D.XXX    AND B.PUBLISH_DATE = D.PUBLISH_DATE    ) FON A.XXX = F.XXXAND A.END_DATE_REP = F.END_DATE_REP

一看到這個查詢,瞬間被石化了。典型的使用開窗函數的場景嘛。嘗試使用如下的開窗函數寫法后,妥妥的10s內解決戰斗。

SELECT  ****FROM(SELECT XXX,RANK() OVER (PARTITION BY XXX ORDER BY END_DATE_REP DESC,PUBLISH_DATE DESC) RAKFROM A WITH(NOLOCK)) CLEFT JOIN(SELECT  XXX,END_DATE_REP,RANK() OVER (PARTITION BY XXX,END_DATE_REP ORDER BY PUBLISH_DATE DESC) RAKFROM  B WITH(NOLOCK)) FON C.XXX=F.XXXAND C.END_DATE_REP = F.END_DATE_REPAND F.RAK = 1 WHERE C.RAK = 1


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南漳县| 旬阳县| 博罗县| 晋宁县| 阳信县| 营口市| 句容市| 双城市| 永春县| 介休市| 吉林省| 景宁| 浦城县| 九龙县| 新龙县| 怀集县| 固原市| 清涧县| 大埔县| 黔东| 滦平县| 冕宁县| 嘉祥县| 康平县| 彰化县| 临湘市| 新密市| 锡林郭勒盟| 铜鼓县| 三穗县| 富源县| 开江县| 屏山县| 巫山县| 乌恰县| 田阳县| 临邑县| 桃源县| 江口县| 兰州市| 上蔡县|