Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости

Создание индексов

Создание индексовНе существует какого-либо универсального правила создания индексов, однако некоторые рекомендации все же следует учитывать. Не имеет особого смысла создавать индексы в небольших таблицах, так как в данном случае они могут не повысить, а понизить производительность. Скажем, если в таблице только 50 строк, гораздо эффективнее выполнить сканирование, чем воспользоваться алгоритмом B-дерева. В крупных таблицах рекомендуется создавать индексы только там, где запросы, их использующие, отбирают небольшой процент строк (менее 15%). Рекомендуется создавать индексы по столбцам, участвующим в запросах в объединениях. (Первичные ключи и уникальные столбцы индексируются по умолчанию, однако чаще всего лучше создать индексы и по столбцам внешних ключей.) Индексы понижают производительность операций DML, включающих индексированные столбцы. Так, при обновлении индексированного столбца следует также обновить и индекс; при вставке строки соответствующие индексы должны быть пересортированы (в B-дереве должна быть заново выполнена балансировка). Так что, если таблица потенциально может часто обновляться, рекомендуется создавать для нее как можно меньше индексов. В следующей инструкции создается уникальный индекс IDX_CUST_NAME по столбцу CUST_ NAME_S таблицы CUSTOMER; при этом значения столбца сортируются по убыванию. Иногда имеет смысл создавать индекс сразу по нескольким столбцам. К примеру, если администратор базы данных знает, что пользователи часто выполняют запросы по нескольким критериям (по cust_name_s, cust_status_s и cust_credhold_s), в таблице CUSTOMER можно создать составной индекс. Можно создать множество индексов, включающих один и тот же

Возрастанию и убыванию, если известно, что по нему часто выполняется сортировка в обоих порядках.