Название: Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML (Токмаков Г. П.)

Жанр: Информационные системы и технологии

Просмотров: 1412


3.5. создание индексов

 

3.5.1. О БЩИЙ  ФОРМАТ  ОПЕРАТОРА  CREATE  INDEX

 

Индекс может быть создан оператором:

 

CREATE [UNIQUE] [ASC[ENDING]|DESC[ENDING]]

INDEX ИмяИндекса ON ИмяТаблицы (столбец1 [, столбец2 ...]);

 

– UNIQUE − требует создания уникального индекса;

– ASC[ENDING] − указывает на необходимость сортировки значений индексных полей по возрастанию (по умолчанию);

– DESC[ENDING] − указывает на необходимость сортировки значений индекс-

ных полей по убыванию;

– ИмяИндекса − имя создаваемого индекса;

– ИмяТаблицы − имя таблицы, для которой создается индекс;

– столбецN − имена столбцов, по которым создается индекс.

Ниже дан пример инструкции CREATE INDEX, которая создает индекс для таблицы ZAKAZY на основе столбцов MFR и PRODUCT и содержит требование уни- кальности для комбинации этих столбцов:

 

CREATE UNIQUE INDEX ORD_PROD_IDX ON ZAKAZY (MFR, PRODUCT);

 

3.5.2. Н ЕОБ Х О Д ИМОСТ Ь  СОЗДА НИЯ  ИНД Е КСОВ

 

Индексы необходимо создавать в том случае, когда по столбцу или группе столбцов:

– часто производится поиск в базе данных (столбец или группа часто пере-

числяются в предложении WHERE оператора SELECT);

– часто строятся объединения таблиц;

– часто производится сортировка (т. е. столбец или столбцы часто использу-

ются в предложении ORDER BY оператора SELECT.

Не рекомендуется строить индексы по столбцам или группам столбцов, ко-

торые:

– редко используются для поиска, объединения и сортировки результатов за-

просов;

– часто меняют значение, что приводит к необходимости часто обновлять ин-

декс и способно существенно замедлить скорость работы с базой данных;

– содержат небольшое число вариантов значения.

 

3.5.3. У ДАЛЕНИЕ  ИНДЕ КСА

 

Для удаления индекса, созданного оператором CREATE INDEX, используется оператор

 

DROP INDEX <имя_индекса>;

 

Нельзя удалить индекс, созданный в результате определения первичного и внешнего ключей. Для этой цели следует использовать оператор ALTER TABLE.