-1
我已經使用rank()生成了一個報告。查詢優化 - 窗口排序
select sa.COUNTRY,
sa.CITY,
to_char(sum(r.TOTAL_SERVICE_COST)) as Total_Service_Cost,
rank() OVER (PARTITION BY sa.COUNTRY
ORDER BY SUM(r.TOTAL_SERVICE_COST) Desc) as City_Rank_by_country
from ROUTESFACT r,SOURCEAIRPORT_DIM sa
where r.SOURCEAIRPORTID=sa.SOURCE_AIRPORTID
GROUP BY sa.COUNTRY,sa.CITY;
正如你看到的窗口排序和散列組沒有得到有效優化。 什麼是優化這個最好的方法?
執行計劃對我來說很好。該查詢包含事實表中的所有行,並且聯接便宜,因此索引對此沒有幫助。如果數據分組並排名,則計劃中必須進行分組和排序操作。成本很小,所以並行性不值得。我沒有看到這個執行計劃的明顯問題。有沒有可以添加的信息? –