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

dbstalker, 20 декабря

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

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

Селективность индекса = ( 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 . Обратите внимание, что селективность строк практически всегда лучше блочной селективности.

2 комментария

Прокоментировать

Виталий
28 декабря 2011 г. в 15:48

А что в связи с этим вы можете сказать про гистограммы?

dbstalker
4 января 2012 г. в 12:52

Только то, что нет времени завершить статью на эту тему.

 

Новый комментарий

Я не спамер: введите суму 6+2



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Нужен поставщик Дропшиппинг
10 декабря, 1 ответа
КИНО КАФЕ!!!!!!!!!!!!!!!!
10 декабря, 1 ответа