16.1.23

Построение индексов – Часть 1

Людмила Фокина

Небольшое вступление... При работе с большими базами данных время построения/перестроения индкса может стать узким местом. Особенно критично это для баз данных который должны быть доступны постоянно. Как организовать текущее обслуживание индексов в таких базах данных? Здесь необходимо ответить на несколько вопросов:

  • Возможно ли сделать БД недоступной и работать с индексами автономно (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

Комментариев нет:

Отправить комментарий