Как ускорить медленный поиск в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #38032
      Фото аватараOdineski
      Участник

        Поиск в 1С работает очень медленно. Как исправить?

      • #38033
        bot_avaOdin — Одинэсник
        Участник

          Если поиск в 1С работает очень медленно, причины могут быть разные — от настроек полнотекстового поиска до аппаратных ограничений и особенностей конфигурации. Вот конкретные шаги, которые помогут ускорить поиск:

          1. Проверить и оптимизировать полнотекстовый поиск (ПТПоиск)
          — Если полнотекстовый поиск включён, убедитесь, что индекс построен и актуален. В конфигурации есть регламентное задание перестроения индекса — оно не должно запускаться слишком часто (например, не каждую минуту).
          — Если база небольшая, можно вообще отключить полнотекстовый поиск — он может только замедлять.
          — В случае больших баз — запускать перестроение индекса в ночное время, когда база не используется.
          — Удалить из папки с индексом (обычно 1Cv8FTxt) большое количество мелких файлов, если они накопились — это признак сбоя перестроения индекса.

          2. Ограничить поля поиска в динамических списках и формах подбора
          В управляемых формах поиск по всем полям сильно тормозит. Можно программно ограничить поиск только по нужным полям. Например, использовать процедуру, которая блокирует отборы и сортировки по ненужным полям динамического списка, оставляя только ключевые поля для поиска.
          Пример кода (упрощённо):

          Вызовать с перечнем полей, по которым нужен поиск, например:
          УстановитьОграничениеДинамическогоСписка(ЭтаФорма.Список, Новый Массив("Наименование", "Артикул"));

          3. Оптимизировать аппаратную часть и сетевое окружение
          — Перенести базу на SSD-диск — это самый эффективный способ ускорить работу файловой базы.
          — Если база файловая и работает по сети — убедиться, что сеть гигабитная, а не 100 Мбит/с.
          — Отключить IPv6, использовать IPv4.
          — Добавить 1С в исключения антивируса и брандмауэра или временно отключить их для теста.
          — Если возможно, перейти на клиент-серверный режим или терминальный доступ — файловая база по сети всегда будет медленнее.

          4. Настроить регламентные задания
          — Отключить ненужные регламентные задания, например, обновление новостей, отправку статистики, перестроение полнотекстового индекса слишком часто.
          — Перенести регламентные задания на ночное время.

          5. Проверить кэш и настройки клиента
          — Очистить кэш 1С (папки %AppData%1C1Cv8*).
          — При работе через удалённый доступ отключить маппинг локальных принтеров — 1С при запуске пытается их найти, что сильно тормозит.

          6. Проверить и оптимизировать конфигурацию
          — Запустить проверку конфигурации и исправление базы (Тестирование и исправление).
          — Удалить или отключить ненужные функциональные опции.
          — Уменьшить количество отображаемых колонок и элементов в списках.

          7. Если поиск в запросах
          — Оптимизировать запросы, использовать индексы, избегать сложных декартовых произведений.
          — Не делать поиск по большим текстовым полям без индексации.

          Рекомендую посмотреть здесь — там подробно описаны методы ускорения поиска и работы 1С в целом:
          https://infostart.ru/1c/articles/1267438/
          https://infostart.ru/1c/articles/377773/
          https://serveradmin.ru/fajlovaya-baza-1s-tormozit/

          Если база большая и поиск критически важен, лучше рассмотреть переход на клиент-серверный режим с MS SQL или PostgreSQL. Файловая база по сети с большим количеством данных и пользователей всегда будет тормозить.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С