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

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

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

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

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

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

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

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

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

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

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

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

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

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

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

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

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

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

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

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

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

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

    Ответить

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

    Ответить

  3. если Вы используете дату как измерение, лучше создать справочник «Даты», где единственным реквизитом будет реквизит с типом «дата» — спасибо, поржал

    Ответить

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

Ваш адрес email не будет опубликован.