Давно отказался от этого и обмен с 1С использую только для выгрузки заказов с сайта в 1С (сервер 1С запрашивает по расписанию каждые 5 минут). Новые товары появляются раз в месяц, подготовлен шаблон в LibreOffice, через который загоняю новые товары на сайт (артикул, название, описание, изображения, статус, SEO). Обновляю данные из 1С внешней обработкой, которая вызывает собственный скрипт на сайте (вручную или по расписанию опять же). 1700 позиций грузится максимум минуту. Изображения при необходимости гружу отдельно - захламлять базу 1С массой изображений огромного разрешение - это плохо, это в десять раз можно массу базы нарастить, а потом дивиться, почему база тормозит :)
мне обмен с 1с необходим как воздух, каждый день синхонизация нужна. вот заметил такое:
99725 cscart localhost Query 15 Copying to tmp table SELECT SQL_CALC_FOUND_ROWS products.product_id, inventory.combination, IF( shared_descr.product_id IS
не могу понять почему такое большое время выполнения запроса и как ускорить
Потому что в запросах конечно можно сколько угодно джойнов делать, но есть правило (которому видимо следуют только люди, которые программировали еще под 286-ые, когда каждый бит памяти и такт процессора были на счету): не больше двух джойнов в запросе, иначе требуемые ресурсы растут в геометрической прогрессии. А у нас в запросах по четыре, по пять JOIN-ов встречается. А это создается виртуальная таблица из пяти таблиц, которую надо высчитать, а потом еще и обработать, да с условиями, выборкой и сортировкой, да с подзапросами. А SQL_CALC_FOUND_ROWS сам по себе является предметом жарких споров, добро он или зло :)