Очень медленный вывод в таблицу значений СДК на PostreSQL?

1. nick_e 2 30.01.25 11:40 Сейчас в теме
Простейший запрос выбор их справочника с использованием "В ИЕРАРХИИ" жутко тормозит в момент вывода в таблицу значений, если вложенных разделов больше 2-3, сервер postgressql17.
В отбор передаю группу номенклатуры, в запросе пишу выбрать в иерархии и всё.
вывожу так:
	СКД = ПолучитьОбщийМакет("уп_ТоварыКОтправкеОтборСКД"); 
	
	Если ФормаНастройкиСКДО = Неопределено Тогда
		НастройкиСКД = СКД.НастройкиПоУмолчанию;
	иначе	
		НастройкиСКД = ФормаНастройкиСКДО;
	КонецЕсли;	
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	
	Макет = КомпоновщикМакета.Выполнить(СКД, НастройкиСКД,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(Макет, , ,истина);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
	
	ТабЗначений = Новый ТаблицаЗначений;
	ПроцессорВывода.УстановитьОбъект(ТабЗначений);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);
	
	Возврат ТабЗначений; 
Показать

на строк
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
начинаются тормоза минут на 5 результат 170 строк номенклатуры.

На ms sql процесс занимает секунду, на postgresql 5 минут, что с этим можно сделать на postgresql?
Найденные решения
11. nick_e 2 30.01.25 13:24 Сейчас в теме
Проблема в строке
ПО спрНоменклатура.Ссылка.НаименованиеПолное = НоменклатураДополнительныеРеквизиты.Ссылка.НаименованиеПолное

если связь по ссылке то все ок.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 33 30.01.25 11:42 Сейчас в теме
(1) Проблема не в выводе в таблицу, а в выполнении запроса.
Выполните запрос в консоли, подозреваю, результат будет аналогичен.
4. nick_e 2 30.01.25 12:29 Сейчас в теме
5. nick_e 2 30.01.25 12:30 Сейчас в теме
(2) Можно как то исправить?
6. SlavaKron 30.01.25 12:41 Сейчас в теме
(5) Можно сделать запрос в цикле: выбираем все группы, входящие в группу из отбора, потом все группы из подчиненных групп и так далее, пока выборка не станет пустой.
7. Sashares 33 30.01.25 12:48 Сейчас в теме
(5) Покажите текст запроса.
3. VmvLer 30.01.25 11:59 Сейчас в теме
с В ИЕРАРХИИ postgressql плох
8. nick_e 2 30.01.25 13:06 Сейчас в теме
А самое странное, запрос вдруг начинает работать, быстро! Потом снова виснет минут на 5...
9. paulwist 30.01.25 13:11 Сейчас в теме
(8)
А самое странное, запрос вдруг начинает работать, быстро! Потом снова виснет минут на 5...


План запроса в студию.
10. nick_e 2 30.01.25 13:16 Сейчас в теме
ВЫБРАТЬ
	спрНоменклатура.Ссылка КАК НоменклатураСсылка,
	ЕСТЬNULL(НоменклатураДополнительныеРеквизиты.Значение, ЛОЖЬ) = ИСТИНА КАК УчаствуетВОбмене
ИЗ
	Справочник.Номенклатура КАК спрНоменклатура
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГруппыТоваровУчаствующиеВОбмене КАК ГруппыТоваровУчаствующиеВОбмене
		ПО спрНоменклатура.Родитель = ГруппыТоваровУчаствующиеВОбмене.ГруппаТоваров
			И (ГруппыТоваровУчаствующиеВОбмене.Участвует)
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
		ПО спрНоменклатура.Ссылка.НаименованиеПолное = НоменклатураДополнительныеРеквизиты.Ссылка.НаименованиеПолное
			И (НоменклатураДополнительныеРеквизиты.Свойство = &Свойство)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.уп_ПоследнийСтатусВыгрузки КАК уп_ПоследнийСтатусВыгрузки
		ПО спрНоменклатура.Ссылка = уп_ПоследнийСтатусВыгрузки.Номенклатура
ГДЕ
	НЕ спрНоменклатура.ЭтоГруппа
	И (ЕСТЬNULL(НоменклатураДополнительныеРеквизиты.Значение, ЛОЖЬ) = ИСТИНА
			ИЛИ ЕСТЬNULL(уп_ПоследнийСтатусВыгрузки.Участвует, ЛОЖЬ) = ИСТИНА)

СГРУППИРОВАТЬ ПО
	спрНоменклатура.Ссылка,
	ЕСТЬNULL(НоменклатураДополнительныеРеквизиты.Значение, ЛОЖЬ) = ИСТИНА
Показать
11. nick_e 2 30.01.25 13:24 Сейчас в теме
Проблема в строке
ПО спрНоменклатура.Ссылка.НаименованиеПолное = НоменклатураДополнительныеРеквизиты.Ссылка.НаименованиеПолное

если связь по ссылке то все ок.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот