Долгий обмен в базе РИБ

18.07.25

Интеграция - Перенос данных 1C

В своей практике я несколько раз сталкивался с базами РИБ на SQL, которые начинали тормозить при обмене — даже при передаче пустых пакетов. Все предложенные коллегами способы решения проблемы были испробованы, но не дали результата. Пару раз удавалось решить вопрос, создавая базу заново через копирование из центрального узла. Однако затем я столкнулся с ситуацией, когда начал тормозить уже сам центр. В итоге пришлось искать корень проблемы.

Для чистоты эксперимента я дождался нерабочего времени, когда сервер был полностью разгружен — никакие регламентные операции не выполнялись, — и запустил замер с помощью MS Profiler, отслеживая обмен пустыми пакетами.

К своему удивлению, обнаружил, что в проблемной базе обращения к таблице Config выполняются крайне медленно. Я начал сравнивать эту таблицу в нормальной и проблемной базе — оказалось, они различаются по размеру. Проблемная таблица была в 2 раза больше и содержала дубли. Дубли удалил, однако ситуация улучшилась лишь незначительно: значение Reads в Profiler сократилось вдвое, но оставалось аномально высоким, а обмен по-прежнему тормозил.

На втором этапе решил проверить индексы таблицы Config. Оказалось, что в проблемной базе вообще отсутствовал нужный индекс — вероятно, он «слетел» при появлении дублей, и механизмы 1С не смогли его автоматически восстановить. После создания индекса средствами SQL случилось долгожданное чудо: обмен стал занимать 3 секунды вместо 1 минуты!

А теперь — список запросов MS SQL, которые мне помогли:

1.  Поиск дублей в таблице Config

SELECT 
    Creation, 
    FileName,
    Modified,
    Attributes,
    DataSize,
    COUNT(*) AS Duplicates

FROM dbo.Config
GROUP BY Creation, FileName, Modified, Attributes, DataSize
HAVING COUNT(*) > 1
ORDER BY Duplicates DESC;

 

2. Проверка наличия индексов

SELECT 
    i.name AS IndexName,
    i.type_desc AS IndexType,
    c.name AS ColumnName,
    ic.key_ordinal

FROM sys.indexes AS i
JOIN sys.index_columns AS ic 
    ON i.object_id = ic.object_id AND i.index_id = ic.index_id
JOIN sys.columns AS c 
    ON ic.object_id = c.object_id AND ic.column_id = c.column_id
WHERE i.object_id = OBJECT_ID('Config')
ORDER BY i.name, ic.key_ordinal;


3. Удаление дублей

WITH DuplicatesCTE AS (
    SELECT 
        *,
        ROW_NUMBER() OVER (
            PARTITION BY 
                Creation,
                FileName,
                Modified,
                Attributes,
                DataSize
        ) AS RowNum
    FROM dbo.Config
)
DELETE FROM dbo.Config
WHERE EXISTS (
    SELECT 1
    FROM DuplicatesCTE d
    WHERE d.RowNum > 1
      AND d.FileName = Config.FileName
      AND d.Creation = Config.Creation
      AND d.Modified = Config.Modified
      AND d.Attributes = Config.Attributes
      AND d.DataSize = Config.DataSize
);

 

4. Создаем индекс вручную

CREATE NONCLUSTERED INDEX IX_Config_FileName
ON Config(FileName);


p.s. Если кто знает, как можно проверить таблицу Config на дубли, удалить их и создать индекс средствами 1С, то буду очень признателен за информацию. 

Вступайте в нашу телеграмм-группу Инфостарт

РИБ таблица Config

См. также

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 руб.

12.06.2017    148993    869    302    

456

Перенос данных 1C Программист 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

55778 руб.

04.08.2015    174581    378    289    

404

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 руб.

25.02.2015    175490    323    270    

388

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

16260 руб.

18.02.2016    191957    627    539    

546

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 руб.

03.12.2020    39915    113    73    

106

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.246.x) и БП 3.0 (3.0.175.x). Правила подходят для версии ПРОФ и КОРП.

35000 31500 руб.

15.12.2021    28094    198    58    

153

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

55778 руб.

24.04.2015    200354    165    247    

290

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

55778 руб.

15.04.2019    76490    206    160    

143
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. paulwist 18.07.25 15:46 Сейчас в теме
1. Поиск дублей в таблице Config


Хм, ищите дубли одним запросом, а удаляете дубли полученные совсем другим запросом. Это так задумано?

3. Удаление дублей

ORDER BY (SELECT NULL)


А это зачем, какую цель преследовали :) ??
khakasia; +1 Ответить
2. khakasia 148 18.07.25 15:55 Сейчас в теме
Спасибо за замечания, исправил.
Оставьте свое сообщение