75.04K
Category: databasedatabase

Индексы

1.

Индексы

2.

Что такое индекс?
Индекс — это физическая структура данных в БД,
при помощи которой осуществляется ускоренный
доступ
к
необходимой
информации,
использование
подходящего
индекса
значительно
улучшает
производительность
запроса.

3.

Для чего нужны индексы?
Индексы позволяют ускорить доступ к требуемой
информации в БД. Если индекс отсутствует, то
поиск
Осуществляется последовательным перебором всех
записей в таблице

4.

Много индексов - зло
Индекс по сути — это копия данных того поля,
для которого он создан.
Следовательно, индексы увеличивают размер БД

5.

Правила при работе с индексами

индексы
автоматически
создаются
для
уникальных
полей таблицы и полей, которые указаны в
качестве
первичных ключей;
■ индексы следует создавать для полей таблицы,
по
которым часто производится поиск (можно также
создавать один индекс для набора столбцов);
■ для создания индекса наиболее подходят те поля
таблицы, у которых количество повторяющихся
значений минимально;

6.

Способ хранения данных в БД
Минимальная единица распределения памяти в БД
— это страница. Размер каждой страницы 8кб.
Есть 2 вида страниц: страница данных и страница
индексов.
8 страниц образуют экстент, который занимает
64кб
И используется для эффективного управления
страницами

7.

Как хранятся индексы?
Для хранения индексов используется структура
данных — сбалансированное дерево B-Tree(Balanced
Tree).
В этом дереве количество ветвей слева от
корневого узла примерно равно количеству ветвей
справа.
Этот способ хранения обеспчивает быстрый способ
выборки искомой информации

8.

Какие бывают индексы?
Индексы бывают кластерные и некластерные

9.

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

10.

Некластерные индексы
На листовом уровне некластерного индекса
находится идентификатор строки (RowId — RID), в
котором содержится информация о требуемой
записи в виде номера: экстента, страницы и
смещение строки на странице. После получения
этой информации осуществляется дальнейший
поиск данных.
Кол-во некластерных индексов неограниченно для
одной таблицы
English     Русский Rules