Базы данных. Язык SQL. Дьяков И.А. - 47 стр.

UptoLike

Составители: 

часто производится поиск в БД (столбец (столбцы)) часто перечисляется в предложении where
оператора select);
часто строится объединение таблиц;
часто производится сортировка (order by в операторе select).
Не рекомендуется строить индексы по столбцам или группами столбцов, которые:
редко используются для поиска;
часто меняют значение (надо часто обновлять индекс);
содержит небольшое число вариантов значения.
7.2 Создание индекса, оператор create index
Оператор
Create [unique] [asс[ending] | desс [ending]]
Index <имя индекса> on <имя таблицы> (столбец 1,…);
Uniqueуникальный индекс, не допускает одинаковых значений
Asс[ending] – сортировка полей индекса по возрастанию (по умолчанию)
desс[ending] – сортировка полей индекса по убыванию.
Пример. Для таблицы prihod:
Create table prihod (
N_prihod integer not null primary key,
Date_prihod date not null,
Name_det varchar (20) not null,
Kolvo integer not null);
Создать индекс в порядке убывания значений date_prihod и name_det:
Create desc index D_P
On prihod (date_prihod, name-det);
После многократного внесения изменений в таблицу индексы могут быть разбалансированы, "глу-
бина" индекса возрастает.
Это приводит к увеличению времени поиска.
Необходимо время от времени:
выполнять балансировку индекса оператором alter index;
переписывать выбираемость индекса оператором set statistics;
уничтожать и вновь создавать индекс операторами drop index и create index.
7.3 Пересоздание и балансировка индекса
1. alter index <имя индекса> deactivate;
2. alter index <имя индекса> activate;
Нельзя:
перестроить индекс, находящийся в запросах,
перестроить индекс, построенный по первичному, внешнему ключу.
7.4 Удаление индекса
Drop index <имя индекса>;
8 ЗАПРОСЫ В SQL
8.1 Оператор select
Позволяет производить выборки данных, преобразовывать полученные результаты, реализует
сложные условия выбора.
Формат оператора:
Select [ distinct | all {* | <значение 1> [, <значение 2>… ]}