Извините, если название озадачивает, мне трудно четко сформулировать мой вопрос.
Вот мой сценарий:
У меня есть таблица с именем SUBSCRIBERS, которая имеет два неуникальных индекса. Индексированные столбцы: AREA_ID и SUBSCRIPTION_DATE.
Теперь я хочу (эффективно) сделать запрос для всех подписчиков в определенной области, которые подписались после указанной даты. Пример SQL:
SELECT *
FROM subscribers
WHERE area_id = 'areaID'
AND subscription_date > to_date(some_date)
Итак, скажем, чтобы выполнить этот запрос, Oracle сначала захватывает все строки с заданным areaID, и, скажем, это все еще очень большое количество строк. Сможет ли Oracle выполнить сканирование диапазона этого подмножества строк по дате подписки? Или же неуникальный индекс subscription_date применяется только к таблице FULL, что означает, что Oracle придется выполнять линейное сканирование по подмножеству?
Кроме того, я не уверен, что техническая фраза будет описывать индекс для набора, который также применяется к подмножествам. Это был бы крутой бонус, если кто-нибудь знает правильную терминологию.