2016-02-04 5 views
1
Tran_id   Tran_name  Tran_region  Tran_Date Tran_Item 
    1    Tanya   Europe   04-FEB-16 book 
    2    Tanya   Europe   04-FEB-16 book1 
    3    Tanya   Europe   04-FEB-16 book2 
    4    Tanya   Europe   04-FEB-16 book3 

Для этой таблицы я создания индекса, как индекс (Tran_region, Tran_date)Сомнения в индексе Oracle

Давайте предположим, что есть один миллион строк в моей тестовой таблице

Мне нужно получить записи, основанные на Tran_name = 'Таня', Tran_region = 'Европа', Tran_date = '04 -Feb-16'

Мой Oracle Query является

SELECT * 
FROM TEST_TABLE 
WHERE Tran_name='Tanya' , Tran_region='Europe', Tran_date='04-Feb-16' 

Как будет отображаться индекс для моего запроса, будет ли он выполняться для полного сканирования таблицы или сканирования на основе индексированных столбцов

Как я создал индекс для столбца Tran_region, Tran_date, но в моем предложении where я указал имя tran_name, которое также не индексируется.

Цените, если кто-либо предоставит основной принцип работы индекса. Я новичок в технологиях Oracle.

+0

Проверить план выполнения: http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_9010.htm#SQLRF01601 –

ответ

1

Если вы запустили этот запрос, он просто выбросит ошибку, поскольку она недействительна.

Вы не действительно знаете, что он будет делать до тех пор, пока вы его не запустите. Он может предпочесть не использовать индекс для причудливой причины. Но он, вероятно, будет использовать ваш индекс, так как вы ищете в ведущих столбцах индекса. Если еще один индекс существовал с всех этих столбцов (индекс покрытия), он, вероятно, использовал бы это вместо этого.

Если существует еще один индекс, в котором отсутствует один из них в качестве ведущего столбца, он может выполнить сканирование с ошибкой на этом.

Это порядок столбцов в индекс, а не порядок столбцов в where, что имеет значение.

+0

Таким образом, оракул не будет выполнять полный сканирование таблицы, только на основе индекса он будет сканировать. Исправьте меня, если я ошибаюсь – Rams

+0

Да, маловероятно, что он выполнит полное сканирование таблицы –

Смежные вопросы