Я выполняю следующий запрос.
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;
Я создал индекс для столбцов (Поле_1, Поле_2, Поле_3, Поле_4)
из Таблица_1
, но индекс не используется.
Если я удалю SUM (Table_1.Field_5)
из предложения select, то индекс будет использоваться.
Меня смущает, если оптимизатор не использует этот индекс или его из-за функции SUM ()
, которую я использовал в запросе.
Пожалуйста, поделитесь своим объяснением по этому же поводу.