Телефон в Москве:

(495) 788-77-16

в Санкт-Петербурге:

(812) 313-28-51

по России (бесплатно):

8-800-555-11-32

Опыт  говорит  сам  за  себя:

• более 20 проектов реализовано в 2010 году

• более ста реализованных проектов за все время существования компании

• успешное сотрудничество с крупнейшими компаниями российского бизнеса

Проблема с выгрузкой большой многопараметрической номенклатуры из 1С

Проблема с выгрузкой большой многопараметрической номенклатуры из 1С

В процессе технической поддержки наших хостинг-клиентов (не создавших у нас свои сайты) мы столкнулись с такой проблемой:

При выгрузке из 1С базы объёмом более 40 000 многопараметрических позиций запросы в базу "повисают", из-за чего скрипт поглощает большое количество ресурсов и "умирает".

При этом запросы "повисают" как при полной, так и измененной выгрузке из 1С.

Анализируя и решая проблему своими силами, мы также передали её на анализ непосредственно в техподдержку 1С-Битрикс.

Техподдержка 1С-Битрикс 1 месяц пыталась найти проблему (так и не решила).

Мы же обнаружили, что "повисает" запрос именно на процессе работы с таблицой b_xml_tree. До этого случая мы уже общались с техподдержкой 1С-Битрикс и выяснили, что данная таблица временная и создаётся автоматически, когда в ней есть необходимость (т.е. ее можно удалять без ущерба работе сайта).

Провели эксперимент, в котором мы сперва удалили таблицу b_xml_tree, а после чего запустили полный импорт. Эксперимент завершился успешно. Т.е. если таблица пуста и заполняется в процессе импорта, то запросы на ней не "повисают" и выгрузки проходят успешно.

В связи с этим достаточно удалять таблицу b_xml_tree, например, через PHPMyAdmin или в компоненте импорта сделать в начале (до импорта) 1 запрос в базу:
Код
DROP TABLE `b_xml_tree`;
P.S. Если у Вас есть в базе другие инфо-блоки, то сумму их элементов надо прибавлять к сумме позиций базы товаров, т.к. они также обрабатываются при импорте (например, у Вас 30 000 позиций в базе и при этом есть лента новостей с 10 000 новостей. Для системы это 40 000 элементов в обработке при импорте).
0
Виктор Николаевич Бурдин
15.10.2011 11:30:06
В принципе можно не удалять полностью таблицу. Зачастую достаточно её очистить запросом:
Код
TRUNCATE TABLE `b_xml_tree`; 


Ответить Ссылка 0