14. Оптимизация запроса: индексы, партиционирование, сегментирование

Индексы

Индекс – это объект базы данных, обеспечивающий дополнительные способы быстрого поиска и извлечения данных. Индекс может создаваться на одном или нескольких столбцах.

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

Недостатки:

Представление индекса в виде сбалансированного дерева означает, что стоимость поиска любой строки остается относительно постоянной, независимо от того, где находится эта строка.

Сбалансированное дерево состоит из:

Untitled

Два типа индексов:

Кластерные индексы

В кластерном индексе таблица представляет собой часть индекса, или индекс представляет собой часть таблицы. Листовой узел кластерного индекса – это страница таблицы с данными. Т. к. сами данные таблицы являются частью индекса, то очевидно, что для таблицы может быть создан только один кластерный индекс. Кластерный индекс является уникальным индексом по определению.

Кластерные индексы часто используют в качестве первичного ключа.

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