Skip to content
On this page

21. Использование индексов для повышения производительности. Виды индексов

Индекс - это механизм, который направлен на оптимизацию поиска.

Таблица №1

ТабельныйФИОГруппа
308372Либченко М.M32011

Таблица №2

ГруппаО. Программа
M32011Программирование

def Индекс - это метод, который позволяет получить структуру данных, предназначенную для оптимизации поиска.

Как выглядит индекс:

КлючЗначение (адрес кортежа в таблице)
keyvalue

Варианты индексов

1. Первичный индекс

def Первичный индекс - файл упорядочен по первичному ключу, и по нему же построен индекс, так что гарантируется уникальность каждой записи (кортежа)

Ключ (Табельный)Значение (адрес кортежа в таблице)
308372value

Этот индкс можно переформатировать в какую-нибудь структуру данных, например, красно-чёрное дерево

  • Хеш индекс
Ключ (хеш табельного)Значение (адрес кортежа в таблице)
hashValuevalue

Для избавления от коллизий делаем ключ огромного размера

2. Кластеризованный индекс

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

Ключ (хеш от ФИО)Значение (адрес кортежа в таблице)
hashValuevalue

3. Вторичный индекс

def Вторичный индекс - индекс, который построен по аттрибуту, отличному от того, по которому осуществлено упорядочивание

Первый вариант

Ключ (табельный)Значение (адрес кортежа в таблице)
308372value

При этом у нас сама таблица отсортирована по ФИО.

Проблема заключается в том, что нам может понадобиться часто балансировать структуры (деревья)

Второй вариант

Ключ (табельный)Коэф сбалансированностиЗначение (адрес кортежа в таблице)
308372balanceValuevalue

Классы индексов

  1. Плотный - охватывает все записи
  2. Разреженный - охватывает только записи, находящиеся в блоке

Студенты ИСа