Людмила Фокина
Небольшое вступление... При работе с большими базами данных время построения/перестроения индкса может стать узким местом. Особенно критично это для баз данных который должны быть доступны постоянно. Как организовать текущее обслуживание индексов в таких базах данных? Здесь необходимо ответить на несколько вопросов:
- Возможно ли сделать БД недоступной и работать с индексами автономно (Offline) или же необходимо обслуживать индексы в фоновом режиме (Online Index Build)?
- Насколько производительно посторение/ перестроения индекса и можно ли его как-то улучшить?
- Если обслуживание индекса происходит в фоновом режиме (Online), то как это повлияет на производительность пользовательских процессов происходящих параллельно в БД?
- Достаточно ли дополнительных ресурсов, которые потребуются для работы с индексами (дополнительная память, дополнительное дисковое пространство) и как можно минимизировать требования к таким ресурсам?
и т.д.
Стратегия построения индексов в SQL Server может быть различной и зависит от конкретных потребностей пользователя. Различные стратегии можно разделить на следующие (ортогональный) категории:
- Автономное построение индекса (Offline Index Build);
- Фоновое построение индекса (Online Index Build).
- Последовательное посторение индекса (Serial Index Build);
- Параллельное построение индекса (Parallel Index Build).
- Построение секционированного индекса (Partitioned Index):
- Выравненного секционированного индекса (aligned Partitioned Index),
- Невыравненного секционированного индекса (non-aligned Partitioned Index);
- Построение несекционированного индекса (non-Partitioned Index).
- Использовать для промежуточных результатов сортировки пользовательскую базу данных (БД, в которой находится индексируемая таблица);
- Использовать для промежуточных результатов сортировки Tempdb.
На
сегодня – все.
Надеюсь,
следующий мой пост ДЕЙСТВИТЕЛЬНО будет посвящен стратегии автономного
последовательного построения индекса без секционирования. J
by Lyudmila Fokina on 29.08.2006 6:54
Комментариев нет:
Отправить комментарий