Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Индексы в 1С 8.3 и 8.2

Использование индексов 1С — важнейший момент в оптимизации работы информационной системы 1С. Но они очень часто игнорируются разработчиками.

Ниже я попытаюсь рассказать что же это такое, индексы 1С 8.3, и как их использовать.

Индексировать реквизит

Что же такое индексы в 1С?

Индексы представляют собой структуру, позволяющую выполнять ускоренный доступ к строкам таблицы на основе значений одного или более ее столбцов. Индексы сокращают объем данных, которые необходимо считать, чтобы возвратить результирующий набор.

Получите 267 видеоуроков по 1С бесплатно:

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

Индекс хранится в отдельной таблице БД, где связывает определенные строки таблицы с ключами индексов. Т.е. при поиске не нужно обходить все строки базы данных, а последовательно, по ключам отбирать наборы записей и перебирать уже небольшие наборы информации.

Из-за особенностей СУБД, каждая из них накладывает свои ограничения на использования индексов:

Ограничения на индексы в файловой базе 1С

В файловой базе единственным ограничением является максимальная длина ключа индекса, которая ограничивается 1920 байтами. При попытке реструктуризации базы данных с ключом, большей длинны появится ошибка — «Длина ключа индекса превышает максимально допустимую«.

Ограничения на индексы в базе 1С на MS SQL

На MS SQL, согласно документации, к ограничениям по длине индекса добавляется еще и количество ключей индекса, если количество полей будет превышено — индекс просто обрежется:

  • количество ключей индекса — максимум 16
  • суммарная длина индекса — 900 байт

Рекомендации по оптимизации работы 1С

  • не рекомендуется использовать большое количество измерений и субконто в регистрах бухгалтерии
  • в планах счетов в рекомендациях устанавливать не более 4 субконто
  • не желательно использовать поля составного типа — это сильно понижает скорость работы системы
  • не рекомендуется в измерениях регистрах использовать поля с примитивным типом (число, строка и т.п.), если необходимо использовать значения примитивных видов — лучше создайте справочник, где будут указываться данные значения. Например: если вы используете дату как измерение, лучше создать справочник «Даты», где единственным реквизитом будет реквизит с типом «дата».
  • не индексируйте строковые поля большой длиной — это уменьшает быстродействие системы

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице Услуги 1С или по телефону +7 (499) 350 29 00.

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 2 на “Индексы в 1С 8.3 и 8.2
  1. Например: если вы используете дату как измерение, лучше создать справочник «Даты», где единственным реквизитом будет реквизит с типом «дата».

    Ответить

  2. Здравствуйте! Подскажите, в почему не рекомендуется в измерениях регистрах использовать поля с примитивным типом?

    Ответить

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

Ваш e-mail не будет опубликован.