У меня проблема с индексацией в Oracle. Постараюсь объяснить мою проблему с помощью примера следующим образом.
У меня есть таблица TABLE1 со столбцами A, B, C, D
Другая таблица TABLE2 с колонками A, B, C, E, F, H
Я создал индексы для TABLE1
IX_1 A
IX_2 A,B
IX_3 A,C
IX_4 A,B,C
Я создал индексы для TABLE1
IY_1 A,B,C
IY_2 A
когда я дал запрос, похожий на этот
SELECT * FROM TABLE1 T1,TABLE2 T2
WHERE T1.A=T2.A
Когда я даю объяснительный план, я получаю, что он не получает IX_1 и IY_2
Он принимает IX_4, ни IY_1
почему это не правильный указатель?
РЕДАКТИРОВАНИЕ:
Может кто-нибудь помочь мне узнать разницу между INDEX RANGE SCAN, INDEX UNIQUE SCAN, INDEX SKIP SCAN
Я думаю, SKIP SCAN означает, что когда Oracle пропускает столбец в составном индексе
что насчет других, я понятия не имею!