Использование индекса Oracle - PullRequest
       2

Использование индекса Oracle

2 голосов
/ 06 декабря 2011

У меня есть индекс по нескольким столбцам таблицы.Если я не упомяну все столбцы в предложении where, будет ли использоваться этот индекс?

1 Ответ

7 голосов
/ 06 декабря 2011

Ответ: это зависит.

На самом деле это сильно зависит от многих статистических факторов, которые обычно собираются при создании индекса или по запланированному заданию.Статистика включает в себя количество данных (количество строк), их дисперсию, распределение, перепредставление некоторых значений, наличие множества различных значений.

Обычно индекс может использоваться, когда первый столбец в порядке индекса фильтруется.Однако, когда этот первый столбец имеет достаточно низкую мощность, оптимизатор Oracle может использовать метод SKIP SCAN для перебора всех значений второго столбца.

Я рекомендую прочитать раздел по индексам руководства Oracle Concepts.Том Кайт рекомендует полное руководство, в котором говорится, что это самое важное чтение, если вы хотите узнать, что такое Oracle RDBMS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...