Уникальные индексы

Простые индексы

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

CREATE INDEX имя_индекса ON имя_таблицы (имя_столбца)

Например, если необходимо создать индекс таблицы EMPLOYEE_TBL по фамилиям служащих, то это можно сделать с помощью следующей команды.

CREATE INDEX NAME_IDX ON EMPLOYEE_TBL (LAST__NAME);

Следует внимательно отнестись к планированию таблиц и их индексов. Не думайте, что, создав индекс, вы решите все проблемы производительности использования базы данных. Иногда индекс может не ускорять, а тормозить работу. Кроме того, индекс занимает дисковое пространство.

Использование простого индекса оказывается наиболее эффективным в том случае, когда соответствующий индексу столбец часто используется в условиях запросов в выражениях ключевого слова WHERE. Хорошими кандидатами для использования в индексах являются столбцы с табельными номерами, серийными номерами, или созданными системой порядковыми номерами (счетчиками)

Уникальные индексыиспользуются не только для ускорения поиска данных, но и для обеспечения их целостности. Наличие уникального индекса не позволит ввести в таблицу дубликаты записей. В то же время уникальный индекс работает точно так же, как и обычный. Синтаксис соответствующего оператора следующий.

CREATE UNIQUE INDEX имя_индекса ON имя_таблицы (имя__столбца)

Например, чтобы создать уникальный индекс таблицы EMPLOYEE_TBL по фамилиям служащих (LAST_NAME), используйте следующую команду.

CREATE UNIQUE INDEX NAME__IDX ON EMPLOYEE_TBL (LAST_NAME);

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

У вас может возникнуть вопрос: «А если идентификационный код не является в таблице ключом?» Индекс неявно создается при определении ключа таблицы. Но в конкретной компании данные могут обрабатываться по внутреннему табельному номеру, а идентификационные коды служащих использоваться только для документов, связанных с отчислениями по налогам. Тогда логичнее будет создать индекс по табельному номеру и обеспечить его уникальность.

Уникальный индекс можно создать только по тому столбцу таблицы, данные которого уникальны.