Цитата |
---|
Денис Левковский пишет: Что именно "вешается"? Какая версия УТ и "аддона"? На последних релизах таких проблем не было слышно. |
УТ 10.3.7.9, аддон, соответственно, 1CBitrix 2.17 for Trade 10.3.7.9 ...
проверял - это же самое в 1CBitrix.UT.10.3.8.9.Exchange.2.55
ОбщийМодуль.ПроцедурыОбменаССайтом, Процедура НастроитьПостроитель()
там пакетный запрос.
в последнем запросе из пакета идёт выборка 1ой записи из соединения(перемножения) 7 (!) временных таблиц, без условий соединения:
ВЫБРАТЬ ПЕРВЫЕ 1
... <все поля всех таблиц>
ИЗ
ВремЗначенияСвойствНоменклатуры КАК ВремЗначенияСвойствНоменклатуры,
ВремЦены КАК ВремЦены,
ВремЗначенияСвойствХарактеристик КАК ВремЗначенияСвойствХарактеристик,
ВремШтрихКоды КАК ВремШтрихКоды,
ВремФайлы КАК ВремФайлы,
ВремСкидки КАК ВремСкидки,
ВремСкидкиВремяДействия КАК ВремСкидкиВремяДействия) КАК ТОВАРЫ
в результате этого из 7 таблиц получится мегатаблица из которой будет взята 1 строка.
Если в серверном варианте (MS SQL 2005) проанализировать этот запрос профайлером мы увидим что 99% времени занимает именно операция перемножения.
На файловых базах данных (в том числе и на той, с которой клиент бился - ~5000 наименований товаров) этот запрос не выполнялся за 5 часов.
Вопросы:
1. Только мне всё это странным показалось?
2. зачем соединять разнородные данные в одну таблицу (например в ВремСкидкиВремяДействия даже номенклатуры нет)
3. Почему без условий соединения?
4. Зачем из всего этого полученного выбирать 1 (одну) первую запись?
С уважением ...