Табличная селективность, индексная селективность , блочная селективность

Табличная селективность или селективность строк – соотношение количества строк, возвращаемых запросом к общему количеству строк в таблице.

Индексная селективность - отношение числа строк соответствующих конкретному ключевому значению к общему числу строк в индексе.
 
Селективность индекса – это показатель того, сколько строк от общего числа приходится на одно ключевое значение индекса. Построим формулу.
Селективность индекса = ( NUM_ROWS/DISTINCT_KEY) / NUM_ROWS = 1/DISTINCT_KEY 

Таким образом, чтобы рассчитать селективность индекса довольно посмотреть значение DISTINCT_KEYS в динамическом представлении ALL_INDEXES. Селективность чаще вычисляют в процентах. Чем больше этот процент, тем меньше (хуже) селективность. Селективность хороша, если мало строк имеют одинаковые ключевые значения.

Индексный доступ к данным имеет смысл при хорошей селективности. Это утверждение верно при равномерном распределении данных. Однако для ситуации с неравномерным распределением данных такой подход не оправдан. Рассмотрим пример. Предположим у нас есть только два ключевых значения: 1 и 2. Только у одной записи нашей таблицы ключевое поле равно 2. Все остальные записи имеют ключевое поле равное 1. Для нашего случая distinct_key=2, а значит селективность 0,5! Но реально для доступа по предикату ключ=2 использование индекса вполне оправдано. А для предиката ключ=1 индексный доступ вообще не имеет смысла.

Селективность блоков определяется как соотношение числа блоков, содержащих хотя бы одну строку, удовлетворяющую условию запроса к общему количеству блоков данных ниже high-water mark . Обратите внимание, что селективность строк практически всегда лучше блочной селективности.

Вас заинтересует / Intresting for you:

Версии лицензий в линейке прод...
Версии лицензий в линейке прод... 6853 просмотров Stas Belkov Tue, 21 Nov 2017, 13:19:55
Сравнение баз данных Oracle Da...
Сравнение баз данных Oracle Da... 7991 просмотров sepia Sun, 07 Oct 2018, 06:04:37
Oracle Redo и Undo: разбор мех...
Oracle Redo и Undo: разбор мех... 11487 просмотров Игорь Воронов Tue, 21 Nov 2017, 13:17:28
Управление томами Oracle ADVM ...
Управление томами Oracle ADVM ... 1111 просмотров Андрей Васенин Wed, 02 Dec 2020, 09:58:23
Войдите чтобы комментировать