Опрос

Что вас больше интересует?

  • игры для nokia
  • темы на телефон
  • программы на мобильный
  • обзоры мобильных телефонов


 

Какие игры вы предпочитаете?

  • игры для мальчиков
  • игры для девочек
  • драки
  • стрелялки
  • логические игры
  • спортивные


 

счетчики

Спонсор раздела:

Индексирование таблиц

Статьи

Индекс - это объект базы данных, в котором содержится информация об организации данных в таблицах БД. Преимущество применения индексов заключается в том, что они значительно сокращают количество операций ввода/вывода, проводимых при осуществлении доступа к какой-либо части набора данных. Получив команду на создание индекса, СУБД сканирует таблицу и строит список уникальных значений, которые позже будут использоваться при сортировке и поиске данных.

Чем больше объем индексируемых данных и чем больше полей входит в индекс, тем больше ресурсов компьютера затребует процесс индексирования таблицы. Однако если таблица не является статичным объектом и хранящиеся в ней данные постоянно изменяются, то СУБД с каждой операцией вставки или редактирования данных будет вынуждена обновлять индексы, т. е. повторно сканировать таблицу. Поэтому разработчик БД должен уметь балансировать на грани разрешения противоречия между увеличением скорости доступа к фрагменту данных и повышением скорости обновления данных в таблице. В первом случае целесообразно проиндексировать таблицу, во втором - вообще отказаться от индексов.

Разработчики БД постоянно занимаются разрешением этого противоречия. Существует ряд рекомендаций по вопросу определения индексов.

Целесообразно индексировать:

• Столбцы первичного ключа. Как правило, большинство СУБД индексируют их автоматически.

• Столбцы, являющиеся внешними ключами. Индексирование этих полей значительно повышает скорость поиска информации.

• Столбцы, входящие в директивы сортировки (ORDER BY) и группировки данных (GROUP BY). Причем последовательность определения полей в индексе должна соответствовать последовательности полей в директиве.

• Если большую часть времени таблица не редактируется, а используется только для выборки данных (например, телефонный справочник города), индексируйте ее «вдоль и поперек». В случае пополнения такой таблицы большой порцией данных целесообразно удалить старые индексы и создать их вновь после внесения новых записей.

Не стоит индексировать:

• Столбцы типа BLOB и столбцы, построенные на основе данных этого типа.

• Символьные поля большого размера.

• Поля, допускающие данные NULL.

• Часто изменяемые столбцы, т. к. это замедлит выполнение операций модификации данных.

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

Добавить комментарий


Защитный код
Обновить