Anu*_*dve 4 sql oracle indexing oracle11g
我正在运行以下查询.
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;
Run Code Online (Sandbox Code Playgroud)
我为列创建了索引(Field_1,Field_2,Field_3,Field_4),Table_1但索引没有被使用.
如果我删除了SUM(Table_1.Field_5) from select子句,则会使用索引.
如果优化器没有使用此索引或因为SUM()我在查询中使用的函数而感到困惑.
请分享你的解释.