![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Логическое разделение на ключи индексы:
Логический уровень
· Первичный ключ выполняет функцию однозначной идентификации записи в таблицы. Первичный и внешний ключи строятся для обеспечения ссылочной целостности реляцинно-связанных таблиц.
· Индексы служат для сортировок и оптимизации доступа к данным
Физический уровень
· Все ключи и индексы преобразуются в физические индексы - специальный механизм, обеспечивающий быстрый доступ к данным.
Необходимость создания индексов:
Индексы необходимо создавать в случае, когда по столбцу или группе столбцов:
· Часто производится поиск в БД;
· Часто строятся объединения таблиц;
· Часто производится сортировка;
· Часто производится сортировка;
Не рекомендуется строить индексы по столбцам или группам столбцов, которые:
· Редко используются для поиска, объединения, сортировки результатов запроса
· Часто меняют значение, что приводит к необходимости часто обновлять индекс и способно существенно замедлить скорость работы с БД;
· Содержит небольшое число вариантов значения
Пример:
CREATE TABLE SOTR (
ID_SOTR INTEGER NOT NULL,
OTDEL VARCHAR (10),
DOLGNOST CHAR (10),
FIO VARCHAR(25),
PRIMARY KEY (ID_SOTR));
CREATE INDEX DLJ ON SOTR (DOLGNOST);
Именоваться индексы будут так:
DLJ INDEX ON SOTR (DOLGNOST)
RDB$PRIMARY18 UNIQUE INDEX ON SOTR (ID_SOTR)
После многократного внесения изменений в таблицу БД индексы этой таблицы могут быть разбалансированы. Разбалансировка приводит к тому, что глубина индекса возрастает сверх критического значения.
Для улучшения показателя индекса необходимо выполнить его перестроение:
ALTER INDEX <имя индекса> DEACTIVATE;
ALTER INDEX <имя индекса> ACTIVATE;
Замечания:
· Нельзя перестроить индекс, если он используется в данный момент в запросах
· Нельзя перестроить индекс, созданный в результате создания первичного ключа, внешнего и уникального ключей.
Дата публикования: 2014-12-28; Прочитано: 271 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!