Выберите свой город

Наверх

Оптимизация СУБД. Индексы MS SQL и «1С»

индексы в «1С»

Индексы – это специальные ссылки, созданные для повышения производительности СУБД MS SQL. Как правило, они упорядочены по отдельным столбцам.

Создание индексов в MS SQL и «1С» помогает оперативно находить нужные данные в таблице. Кроме того, индексы способны повысить скорость выполненные запросов и снизить негативное влияние блокировок (прежде всего это касается многопользовательского режима).

Как создавать индексы в «1С»?

Существует 2 метода:

  1. Неявный. В этом случае платформа может создать индексы самостоятельно, если для каждого объекта метаданных заранее известны ключи (например, код, ссылка или наименование).
  2. Явный. Создать индексы можно 3 способами:
    • Установить флаг «Индексировать» у поля реквизита или измерения. С помощью опции «Индексировать с дополнительным упорядочиванием» добавляем индекс в поле «Код» или «Наименование» (в первую очередь для динамичных списков).
    • Добавить поле в «Критерии отбора».
    • Указать поле для индексации в запрос с помощью опции «Индексировать по».

Какие бывают индексы в MS SQL?

Индексы MS SQL представлены в виде страниц с данными. Размер одной страницы – 8 Кбайт.

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

Индексы MS SQL способны повысить производительность СУБД, однако у них есть недостаток. Они занимают место на диске, из-за чего работа системы управления базы данных на запись строк замедляется.

Какие существуют ключи индексов MS SQL?

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

Что нужно знать об использовании индексов?

  • Длина ключа индекса не должна превышать 900 байт и 16 разных полей (это касается всех СУБД, кроме файловой).
  • Уровень фрагментации не должен быть выше 25%. В случае регулярного использования индексов может появиться эффект фрагментации. Поэтому чаще проводите дефрагментацию индексов MS SQL.
  • Отсутствие индексов. Из-за отсутствия индексов может произойти полное сканирование таблицы, результате чего появляются избыточные блокировки. Не рекомендуется запускать индексацию по маленьким наборам данных (таким, как «справочник организации»). Есть вероятность, что это приведет к противоположному эффекту – снижению быстродействия.

Вне сомнений, создание индексов в MS SQL – один из шагов на пути к оптимизации вашей базы данных. Однако прежде чем приступить оптимизации «1С», специалисту важно провести детальный анализ системы. Только после этого можно подобрать конкретную методику устранения ошибок и повышения производительности.

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

Оптимизируйте «1С» с уверенностью – проконсультируйтесь у специалистов бесплатно прямо сейчас!

Проконсультироваться бесплатно

Поделиться