Вход | Регистрация


1С:Предприятие ::

Метки: 

Скорость вывода СКД

Я
   inval1d
 
24.06.18 - 17:18
Добрый день. От чего зависит скорость формирования ответа на СКД? Как можно оптимизировать формирования ответа. Есть ответ, источник данных объект - таблица сформированная программно. Отчёт выводится достаточно долго, в качестве эксперимента создал регистр сведений, засунул туда эту таблицу,переписал отчёт - он стал формироваться значительно быстрее. С чем это связано, как оптимизировать отчёт? Подозреваю представление, но как его использовать не пойму.
 
 
   hawksib
 
1 - 24.06.18 - 18:19
а как таблицу получаете программно? думаю таблица долго формируется
   inval1d
 
2 - 24.06.18 - 18:32
выводится дольше чем формируется, хотя и формируется не быстро - секунд 10
   inval1d
 
3 - 24.06.18 - 18:37
при формировании печатных форм, нужно вытаскивать в запрос представление, чтобы не получать запрос в цикле. Когда отчет на СКД, на сколько я понимаю, этого можно не делать, СКД сообразит, а когда в качестве источника объект, как будет с представлением?
   МихаилМ
 
4 - 24.06.18 - 19:37
медленность скд -  известная проблема.
при получении данных для тз, 1с сразу делает запрос для расшифровки ссылок и их кэширует.
   МихаилМ
 
5 - 24.06.18 - 19:38
+(4) 1с83 . в 82 так не делается.
   inval1d
 
6 - 24.06.18 - 19:45
(5) а как это решить как раз в 8.2?
   inval1d
 
7 - 24.06.18 - 19:51
(4) у меня в обоих случаях СКД, интересует с чем связана скорость при работе с регистром, индексов не добавлял, прирост скорости вывода отчета в 2 раза, записать таблицу в регистр, тоже быстро
   МимохожийОднако
 
8 - 24.06.18 - 19:52
(0) Делал замеры?
(6) 8.3 не используешь из религиозных соображений?
   inval1d
 
9 - 24.06.18 - 19:59
замеров я не делал, но отчет выводится достаточно долго и это заметно на глаз. Я ограничился вставками сообщить(ТекщаяДата()). Таблица формируется порядка 10 секунд, выводится секунд 40. Если записать её в регистр, запись 1-2 секунды, а вывод 20 секунд. Это на 8.3 просто на работе стоит 8.2, я разницы не увидел.
   МимохожийОднако
 
10 - 24.06.18 - 20:03
Замер позволит определить на каких строках теряется время. Когда определишься с проблемными строками, проанализируй тормоза и оптимизируй код, запрос и т.п.
 
  Рекламное место пустует
   inval1d
 
11 - 24.06.18 - 20:09
(10) какой замер? СКД - СкомпоноватьРезультат() какие там строки, Вы о чем??
   МимохожийОднако
 
12 - 24.06.18 - 20:52
(11) Начни с отладки текста запроса. Если не хочешь-тебя никто не заставит.
   inval1d
 
13 - 24.06.18 - 21:22
(12) при чем тут запрос? Вы ведь вообще не в курсе о чем я говорю, верно?
   hhhh
 
14 - 24.06.18 - 23:17
(13) ну разные запросы дают разницу в тысячу раз. Поэтому если у тебя сам запросм гомнокодистый, то дальнейшие философские раасуждения некуместны. Как можно там что-то оптимизировать.
   inval1d
 
15 - 25.06.18 - 03:48
ещё раз - запрос всегда один, в первом случае СКД использует в качестве источника данных объект, куда я передаю таблицу полученную эти запросом, во втором случае я эту таблицу записываю в регистр, и в СКД в качестве источника указан регистр. ВЫВОД отчета (тот которым занимается СКД, когда в панели состояния прогрессбар рисуется) во втором случае быстрее в 2 раза.
   inval1d
 
16 - 25.06.18 - 03:51
...во втором случае даже ещё один запрос добавляется, для выбора из регистра всех заисей
   hhhh
 
17 - 25.06.18 - 04:01
(15) ну проиндексировать таблицу позабыл. А в регистре всё проиндексировано.
   inval1d
 
18 - 25.06.18 - 05:40
(17) вообще я и сам думаю в сторону индексов
   АНДР
 
19 - 25.06.18 - 06:32
(17), (18) Поясните,как индексирование результата запроса влияет на его отображение!? Автор утверждает, что скорость выполнения самого запроса не меняется, верно?

(0) Огласите структуру регистра и результата запроса.
   inval1d
 
20 - 25.06.18 - 06:37
(19) Автор пытается разобраться, что влияет на скорость вывода отчета. А индексирование я только подозреваю, и не результата запроса а регистра.
   АНДР
 
21 - 25.06.18 - 06:40
(20) из (17) следует, что влияет индексирование именно выводимого результата, а не первоначального источника
   МимохожийОднако
 
22 - 25.06.18 - 06:41
Есть ещё такое средство как технологический журнал. Но его не все умеют анализировать. В данном случае, есть сомнения.
   inval1d
 
23 - 25.06.18 - 06:46
(21) да, сейчас я именно это пытаюсь проверить
   inval1d
 
24 - 25.06.18 - 08:22
проверил:
Заполнение таблицы: 25.06.2018 10:16:19
СкомпоноватьРезультат: 25.06.2018 10:16:46
Индексируем таблицу...
Готово: 25.06.2018 10:17:30
------------------------------------
Заполнение таблицы: 25.06.2018 10:17:46
СкомпоноватьРезультат: 25.06.2018 10:18:11
Готово: 25.06.2018 10:18:53

в первом случае добавляю в таблицу индексы по тем полям которые в являются измерениями.
Выходит что не в этом дело, нет разницы
   АНДР
 
25 - 25.06.18 - 08:31
Тип полей промежуточного регистра - примитивный?
   inval1d
 
26 - 25.06.18 - 08:35
таблица большая - 23 поля, в регистре 8 измерений, 9 ресурсов и 6 реквизитов, индексов в регистре не создавал, предполагаю, что индексы только по измерениям, поэтому при создании индексов в таблицу добавляю индексы по тем полям, по которые в регистре как измерения

типы полей различные, ресурсы - числовые, измерения ссылочные, реквизиты, как правило строки
   inval1d
 
27 - 25.06.18 - 08:37
...соврал, не все измерения ссылочные, есть числовые
   xXeNoNx
 
28 - 25.06.18 - 16:18
Мля, сколько телепатов. Оптимизирую по хз-тз дорого.
(15) "...запрос всегда один.." - какие ваши доказательства?
   xXeNoNx
 
29 - 25.06.18 - 16:22
говнокод детектед, ТСу ссыкотно даже скинуть его
   inval1d
 
30 - 26.06.18 - 09:32
(28) доказательства чего? Зачем текст запроса? Вы понимаете о чем я спрашиваю?
Ещё раз: запросами, циклами ещё как-то у меня формируется таблица, отчет на скд, эту таблицу использую в качестве источника данных. Получаю одну скорость вывода отчета.
Создал регистр сведений, записываю эту таблицу в регистр, Отчет к этому регистру на СКД. Там конечно добавляется запрос(выбрать *) Вопрос в том что во втором случае отчет выводится гораздо быстрее.



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует