Индексы – это специальные ссылки, созданные для повышения производительности СУБД MS SQL Server. Как правило, они упорядочены по отдельным столбцам.
Создание индексов в MS SQL и «1С» помогает оперативно находить нужные данные в таблице. Кроме того, индексы способны повысить скорость выполненные запросов и снизить негативное влияние блокировок (прежде всего это касается многопользовательского режима).
Как создавать индексы в «1С»?
Существует 2 метода:
- Неявный. В этом случае платформа может создать индексы самостоятельно, если для каждого объекта метаданных заранее известны ключи (например, код, ссылка или наименование).
- Явный. Создать индексы можно 3 способами:
- Установить флаг «Индексировать» у поля реквизита или измерения. С помощью опции «Индексировать с дополнительным упорядочиванием» добавляем индекс в поле «Код» или «Наименование» (в первую очередь для динамичных списков).
- Добавить поле в «Критерии отбора».
- Указать поле для индексации в запрос с помощью опции «Индексировать по».
Какие бывают индексы в MS SQL?
Индексы MS SQL Server для «1С» представлены в виде страниц с данными.
Размер одной страницы – 8 Кбайт.
- Некластерные. Индексы MS SQL такого вида организуют ссылки и при этом не перестраивают таблицы.
- Кластерные. Необходимы для создания структуры таблицы согласно индексу. Например, когда данные упорядочены по алфавиту. Такой индекс не применяется для регулярно изменяющихся столбцов, потому что система управления базы данных перестраивает таблицу в соответствии с этим индексом.
- Уникальные. Такого индекс уникален по ключевым полям и представляет из себя «надстройку» для двух предыдущих видов индексов.
Индексы MS SQL для «1С» способны повысить производительность СУБД, однако у них есть недостаток. Они занимают место на диске, из-за чего работа системы управления базы данных на запись строк замедляется.
Какие существуют ключи индексов MS SQL?
- Первичный – ряд столбцов, которые уникальным образом характеризуют строки.
- Внешний – поле таблицы (в «1С» такой вид ключей не используется». Внешний ключ хранит значение первичного ключа, обеспечивая связь между каждой таблицей.
Что нужно знать об использовании индексов?
- Длина ключа индекса не должна превышать 900 байт и 16 разных полей (это касается всех СУБД, кроме файловой).
- Уровень фрагментации не должен быть выше 25%. В случае регулярного использования индексов может появиться эффект фрагментации. Поэтому чаще проводите дефрагментацию индексов MS SQL.
- Отсутствие индексов. Из-за отсутствия индексов может произойти полное сканирование таблицы, результате чего появляются избыточные блокировки. Не рекомендуется запускать индексацию по маленьким наборам данных (таким, как «справочник организации»). Есть вероятность, что это приведет к противоположному эффекту – снижению быстродействия.
Вне сомнений, создание индексов в MS SQL Server – один из шагов на пути к оптимизации вашей базы данных. Однако прежде чем приступить оптимизации «1С», специалисту важно провести детальный анализ системы. Только после этого можно подобрать конкретную методику устранения ошибок и повышения производительности.
Если вы хотите ускорить свою «1С» и не знаете, с чего начать, проконсультируйтесь у наших специалистов. Мы проведем аудит вашей базы данных, чтобы выяснить, какой способ оптимизации будет наиболее эффективным.
Оптимизируйте «1С» с уверенностью – проконсультируйтесь у специалистов бесплатно прямо сейчас!