Как ускорить Бухгалтерию Корп в 10 раз

1. Lupeykin 5 28.07.23 11:51 Сейчас в теме
Общиймодуль.УчетТоваров

|ИЗ
	|	РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
	|			&НачМесяцаРеализации,
	|			&КонДата,
	|			Организация = &Организация
	|				И &УсловиеПоПодразделениюКт
	|				И СчетКт В (&СчетКтПартионный)
	|				И НеКорректироватьСтоимостьАвтоматически
	|				И КоличествоКт < 0
	|				И ВидСубконтоКт1 = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|				И СубконтоКт1 В (&Товары)
	|				И ВидСубконтоКт2 = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Партии)
	
///////////////////////////////////   Внимание !!! в стандартной конфигурации миллионы строк преобразуются в поле без индекса //ЕСТЬNULL(СубконтоКт2, НЕОПРЕДЕЛЕНО)  тут мы ищем ВТ_Партии.Партия что очень долго
// в этой таблице (ВТ_Партии.Партия) преобразуйте данные (Нопределено) в null это ускорит запрос в тысячу раз 

|				И ЕСТЬNULL(СубконтоКт2, НЕОПРЕДЕЛЕНО) В  // 


	|					(ВЫБРАТЬ
	|						ВТ_Партии.Партия
	|					ИЗ
	|						ВТ_Партии)
	|				И &УсловиеПоСкладуДвиженияССубконто3,
	|			,
	|			) КАК ХозрасчетныйДвиженияССубконто
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|// 3 - Возвраты прошлых периодов и без указания сделки по счетам без партионного учета
	|ВЫБРАТЬ
	|	ВЫБОР
	|		КОГДА ХозрасчетныйДвиженияССубконто.ВидСубконтоКт1 = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
	|			ТОГДА ХозрасчетныйДвиженияССубко
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 28.07.23 12:18 Сейчас в теме
(1)ускоряется всего лишь один запрос из миллионов, а не конфигурация.......
3. newlogin1 28.07.23 12:22 Сейчас в теме
(1)Так пишите на V8 чего ждете? Такие моменты обычно очень шустро разбирают
4. Sashares 34 28.07.23 12:29 Сейчас в теме
(1)
в этой таблице (ВТ_Партии.Партия) преобразуйте данные (Нопределено) в null это ускорит запрос в тысячу раз


Не очень понял, что именно предлагается. Покажите результирующий вариант, который вы предлагаете.
5. Lupeykin 5 29.07.23 02:54 Сейчас в теме
(4)сделайте замер производительности, в маленьких базах эта ошибка не критична а в больших базах этот запрос по 10 минут работает, если для вас критично я перепишу вам этот запрос. за донат, к примеру команда гилева правит этот запрос за 96 тр.но я не из их команды.и цены у меня в разы меньше.
6. Sashares 34 29.07.23 10:16 Сейчас в теме
(5)Не, спасибо, я с БП не работаю, мне просто было интересно.
7. user856012 13 29.07.23 12:00 Сейчас в теме
(6)
мне просто было интересно
А вот мне интересно другое: с какого перепугу автор поместил свою ветку в раздел "Вебинары"? Где в ней хоть слово про вебинар?

Впрочем, вопрос риторический - все стало ясно после предложения своих услуг на платной основе... что запрещено правилами форума.
8. SlavaKron 30.07.23 10:45 Сейчас в теме
(1)
в этой таблице (ВТ_Партии.Партия) преобразуйте данные (Нопределено) в null
А какой в этом смысл? ЧтоУгодно В (NULL) всегда вернет ложь (пример на скринах).

Для решения проблемы, достаточно просто убрать ЕСТЬNULL.
Прикрепленные файлы:
9. Sashares 34 30.07.23 18:37 Сейчас в теме
10. Oldsad 31.07.23 03:03 Сейчас в теме
Такое изменение запрос то может и ускорит в тысячу раз, но результат запроса изменится

ВЫБРАТЬ
	NULL КАК ПустоеЗначение
ПОМЕСТИТЬ ВТ_ПустыеЗначения

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	НЕОПРЕДЕЛЕНО
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	1 КАК Данные,
	НЕОПРЕДЕЛЕНО КАК ПроверяемоеЗначение
ПОМЕСТИТЬ ВТ_Данные

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	2,
	NULL

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	3,
	НЕОПРЕДЕЛЕНО

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	4,
	NULL

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	5,
	НЕОПРЕДЕЛЕНО
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_Данные.Данные КАК Данные,
	ТИПЗНАЧЕНИЯ(ВТ_Данные.ПроверяемоеЗначение) КАК ПроверяемоеЗначение
ИЗ
	ВТ_Данные КАК ВТ_Данные
ГДЕ
	ВТ_Данные.ПроверяемоеЗначение В
			(ВЫБРАТЬ
				ВТ_ПустыеЗначения.ПустоеЗначение
			ИЗ
				ВТ_ПустыеЗначения)
Показать


ну ка знатоки 1С кто предскажет результат без выполнения в консоли?
11. SlavaKron 31.07.23 10:49 Сейчас в теме
(10) Согласен, что в чистом примере мы потеряем записи с null. Но тут условия в параметрах таблицы ДвиженияССубконто – значения субконто там не могут быть null, так как условие субконто применяется к физической таблице.
Оставьте свое сообщение

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