我有一個查詢,如下,使用指數超過SUM函數在DB2
SELECT SUM(SOLD_QTY_CNT) AS QUANTITY, DENOM_AM, SUM(LIN_AM) AS LINE_AMT,
LIN_AM AS O_LINE_AMT, ORD_DTL_ID
FROM MyTable GROUP BY ORD_DTL_ID, LIN_AM, DENOM_AM
WITH UR;
我的查詢是優化/更好的方式來重寫此查詢。 由於它有一個SUM函數,所以希望爲涉及的所有列創建索引不會有幫助。
當我把aove的訪問計劃稱爲close to 70k..
由於使用的表是非常大的表。
所以請推薦一些方法來優化查詢。
TIA。
你嘗試了DB2設計顧問 - 這可能表明,有利於您查詢的索引,如果它不存在。 – mustaccio
個人而言,我懷疑{'ORD_DTL_ID','LIN_AM','DENOM_AM'}(可能包括'SOLD_QTY_CNT'作爲附加列)上的索引將會有所幫助 - 儘管如果你能夠獲得更好的結果,對'LINE_AMT'進行求和'(通過執行'COUNT(*)* LIN_AM')作弊將取決於優化器的工作方式。 –
時鐘 - 選擇查詢具有函數「SUM」,因此將索引工作? –