我正在運行以下查詢。在oracle中索引是否與組功能一起工作?
SELECT Table_1.Field_1,
Table_1.Field_2,
SUM(Table_1.Field_5) BALANCE_AMOUNT
FROM Table_1, Table_2
WHERE Table_1.Field_3 NOT IN (1, 3)
AND Table_2.Field_2 <> 2
AND Table_2.Field_3 = 'Y'
AND Table_1.Field_1 = Table_2.Field_1
AND Table_1.Field_4 = '31-oct-2011'
GROUP BY Table_1.Field_1, Table_1.Field_2;
我已經創建了索引列的Table_1
(Field_1,Field_2,Field_3,Field_4)
但不習慣於索引。
如果我從select子句中刪除SUM(Table_1.Field_5)
,那麼index正在被使用。
我很困惑,如果優化器沒有使用這個索引或它的因爲SUM()
函數我用在查詢中。
請分享你的解釋。
你應該張貼一個優化的執行計劃。 – Benoit