Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 250000
| АвансовыйОтчетТабличнаяЧастьДокумента.Ссылка КАК Ссылка,
| АвансовыйОтчетТабличнаяЧастьДокумента.НомерСтроки КАК НомерСтроки,
| АвансовыйОтчетТабличнаяЧастьДокумента.Сумма КАК Сумма,
| АвансовыйОтчетТабличнаяЧастьДокумента.СтавкаНДС КАК СтавкаНДС,
| АвансовыйОтчетТабличнаяЧастьДокумента.СуммаНДС КАК СуммаНДС
|ИЗ
| Документ.АвансовыйОтчет.ТабличнаяЧастьДокумента КАК АвансовыйОтчетТабличнаяЧастьДокумента");
Результат = Запрос.Выполнить();
КлючеваяОперация = "СП_ОбходСтрокТЗ";
НачалоЗамера = ОценкаПроизводительности.НачатьЗамерВремени();
ТЗ = Результат.Выгрузить();
Для каждого СтрокаТЗ Из ТЗ Цикл
СтрокаТЗ.СуммаНДС = СтрокаТЗ.Сумма;
КонецЦикла;
ОценкаПроизводительности.ЗакончитьЗамерВремени(КлючеваяОперация, НачалоЗамера);
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 100
| АвансовыйОтчет.Ссылка КАК Ссылка
|ИЗ
| Документ.АвансовыйОтчет КАК АвансовыйОтчет");
Выборка = Запрос.Выполнить().Выбрать();
КлючеваяОперация = "СП_СериализацияXML";
НачалоЗамера = ОценкаПроизводительности.НачатьЗамерВремени();
ЗаписьXML = Новый ЗаписьXML;
ИмяФайла = ПолучитьИмяВременногоФайла("xml");
ЗаписьXML.ОткрытьФайл(ИмяФайла);
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("data");
Пока Выборка.Следующий() Цикл
ЗаписатьXML(ЗаписьXML, Выборка.Ссылка.ПолучитьОбъект());
КонецЦикла;
ЗаписьXML.Закрыть();
УдалитьФайлы(ИмяФайла);
ОценкаПроизводительности.ЗакончитьЗамерВремени(КлючеваяОперация, НачалоЗамера);
КлючеваяОперация = "СУБД_ВыборкаБухгалтерскихПроводок";
НачалоЗамера = ОценкаПроизводительности.НачатьЗамерВремени();
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 10000
| Бухгалтерский.Период КАК Период,
| Бухгалтерский.Регистратор КАК Регистратор,
| Бухгалтерский.НомерСтроки КАК НомерСтроки,
| Бухгалтерский.Активность КАК Активность,
| Бухгалтерский.СчетДт КАК СчетДт,
| Бухгалтерский.СчетКт КАК СчетКт,
| Бухгалтерский.Организация КАК Организация,
| Бухгалтерский.База КАК База,
| Бухгалтерский.Филиал КАК Филиал,
| Бухгалтерский.ВалютаДт КАК ВалютаДт,
| Бухгалтерский.ВалютаКт КАК ВалютаКт,
| Бухгалтерский.Сумма КАК Сумма,
| Бухгалтерский.ВалютнаяСуммаДт КАК ВалютнаяСуммаДт,
| Бухгалтерский.ВалютнаяСуммаКт КАК ВалютнаяСуммаКт,
| Бухгалтерский.КоличествоДт КАК КоличествоДт,
| Бухгалтерский.КоличествоКт КАК КоличествоКт,
| Бухгалтерский.Содержание КАК Содержание,
| Бухгалтерский.НомерЖурнала КАК НомерЖурнала,
| Бухгалтерский.МоментВремени КАК МоментВремени
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| РегистрБухгалтерии.Бухгалтерский КАК Бухгалтерский
|ГДЕ
| Бухгалтерский.Период МЕЖДУ &НачалоПериода И &КонецПериода
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВременнаяТаблица.Период КАК Период,
| ВременнаяТаблица.Регистратор КАК Регистратор,
| ВременнаяТаблица.НомерСтроки КАК НомерСтроки,
| ВременнаяТаблица.Активность КАК Активность,
| ВременнаяТаблица.СчетДт КАК СчетДт,
| ВременнаяТаблица.СчетКт КАК СчетКт,
| ВременнаяТаблица.Организация КАК Организация,
| ВременнаяТаблица.База КАК База,
| ВременнаяТаблица.Филиал КАК Филиал,
| ВременнаяТаблица.ВалютаДт КАК ВалютаДт,
| ВременнаяТаблица.ВалютаКт КАК ВалютаКт,
| ВременнаяТаблица.Сумма КАК Сумма,
| ВременнаяТаблица.ВалютнаяСуммаДт КАК ВалютнаяСуммаДт,
| ВременнаяТаблица.ВалютнаяСуммаКт КАК ВалютнаяСуммаКт,
| ВременнаяТаблица.КоличествоДт КАК КоличествоДт,
| ВременнаяТаблица.КоличествоКт КАК КоличествоКт,
| ВременнаяТаблица.Содержание КАК Содержание,
| ВременнаяТаблица.НомерЖурнала КАК НомерЖурнала,
| ВременнаяТаблица.МоментВремени КАК МоментВремени,
| БухгалтерскийСубконто.Период КАК Период1,
| БухгалтерскийСубконто.Регистратор КАК Регистратор1,
| БухгалтерскийСубконто.МоментВремени КАК МоментВремени1,
| БухгалтерскийСубконто.НомерСтроки КАК НомерСтроки1,
| БухгалтерскийСубконто.ВидДвижения КАК ВидДвижения,
| БухгалтерскийСубконто.Вид КАК Вид,
| БухгалтерскийСубконто.Значение КАК Значение
|ПОМЕСТИТЬ ВременнаяТаблица2
|ИЗ
| ВременнаяТаблица КАК ВременнаяТаблица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Бухгалтерский.Субконто КАК БухгалтерскийСубконто
| ПО ВременнаяТаблица.Период = БухгалтерскийСубконто.Период
| И ВременнаяТаблица.НомерСтроки = БухгалтерскийСубконто.НомерСтроки
| И ВременнаяТаблица.Регистратор = БухгалтерскийСубконто.Регистратор");
ТекДата = ТекущаяДата();
Запрос.УстановитьПараметр("НачалоПериода", ТекДата - 12*3600);
Запрос.УстановитьПараметр("КонецПериода", ТекДата);
Запрос.Выполнить();
ОценкаПроизводительности.ЗакончитьЗамерВремени(КлючеваяОперация, НачалоЗамера);
КлючеваяОперация = "СУБД_НеоптимальныйЗапрос";
НачалоЗамера = ОценкаПроизводительности.НачатьЗамерВремени();
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 5000
| АвансовыйОтчет.Ссылка КАК Ссылка,
| АвансовыйОтчет.Счет.ПометкаУдаления КАК СчетПометкаУдаления,
| АвансовыйОтчет.ЦФО.ДатаОткрытия КАК ЦФОДатаОткрытия,
| АвансовыйОтчет.ДокументОснование.Дата КАК ДокументОснованиеДата
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| Документ.АвансовыйОтчет.ТабличнаяЧастьДокумента КАК АвансовыйОтчетТабличнаяЧастьДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.АвансовыйОтчет КАК АвансовыйОтчет
| ПО АвансовыйОтчетТабличнаяЧастьДокумента.Ссылка = АвансовыйОтчет.Ссылка
|ГДЕ
| АвансовыйОтчетТабличнаяЧастьДокумента.Аналитика1 ССЫЛКА Справочник.МоделиТМЦ
| И не АвансовыйОтчетТабличнаяЧастьДокумента.Аналитика1 В
| (ВЫБРАТЬ
| справочник.моделитмц.Ссылка
| ИЗ
| справочник.моделитмц
| ГДЕ
| справочник.моделитмц.ПометкаУдаления)
| И НЕ АвансовыйОтчетТабличнаяЧастьДокумента.Аналитика1.ПометкаУдаления");
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Выполнить();
ОценкаПроизводительности.ЗакончитьЗамерВремени(КлючеваяОперация, НачалоЗамера);
ВЫБРАТЬ ПЕРВЫЕ 10000
*
ПОМЕСТИТЬ ВТ
ИЗ
РегистрНакопления.СебестоимостьТоваров
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 100
| АвансовыйОтчет.Ссылка КАК Ссылка
|ИЗ
| Документ.АвансовыйОтчет КАК АвансовыйОтчет");
Выборка = Запрос.Выполнить().Выбрать();
КлючеваяОперация = "СП_СериализацияXML";
НачалоЗамера = ОценкаПроизводительности.НачатьЗамерВремени();
Пока Выборка.Следующий() Цикл
Выборка.Ссылка.ПолучитьОбъект();
КонецЦикла;
ОценкаПроизводительности.ЗакончитьЗамерВремени(КлючеваяОперация, НачалоЗамера);
1.
Лог 1С: 00:06.015000-15018996
Лог СУБД: 2024-07-30 14:00:06.009 MSK [85924] LOG: duration: 6864.310 ms plan:
2.
Лог 1С: 00:53.071008-6105003
Лог СУБД: нет в логе, значит выполнялся менее секунды.
3.
Лог 1С: 01:44.991003-13328002
Лог СУБД: 2024-07-30 14:01:44.986 MSK [84645] LOG: duration: 6084.727 ms plan:
4.
Лог 1С: 03:30.152000-15033997
Лог СУБД: 2024-07-30 14:03:30.145 MSK [84645] LOG: duration: 6329.789 ms plan:
5.
Лог 1С: 14:35.804001-13251000
Лог СУБД: 2024-07-30 15:14:35.796 MSK [94400] LOG: duration: 6149.201 ms plan:
2024-08-26 11:10:24.276 MSK [25878] LOG: duration: 2351.584 ms plan:
Query Text: SELECT
...
Nested Loop Left Join (cost=12.34..2549.56 rows=1000 width=437) (actual time=0.914..47.454 rows=1000 loops=1)
...
logging_collector = 'on'
log_min_duration_statement = '1000'