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


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

Метки: 

скорость работы отчета

Я
   Александр056
 
29.11.17 - 09:48
Всем привет! Два отчета, оба на СКД, простые как валенки, в каждом 1 регистр, в котором предварительно сформированы записи в том виде в котором нужно выводить данные. Нет объединений, соединений группировок, просто выбрать и все. Так вот, в каждом регистре 1 измерение и реквизиты, в первом случае измерение ссылка на справочник, измерение индексируется. Результат отчета 622 000 строк, выводится минут за 10-15. Прекрасно, пусть и простыня в итоге, но именно так просили.Второй регистр подчинен регистратору, измерение номер заявки(строка длинной 14 символов). Так же измерение индексируется, все остальное реквизиты, результат 55-60 тыс строк, формируется минут 40-45, откуда такая разница?
 
 
   MrStomak
 
1 - 29.11.17 - 09:49
Разница оттуда, что ты из регистратора тащишь какое-то поле, а регистратором могут быть 100500 документов.
   Александр056
 
2 - 29.11.17 - 09:50
нет полей составных типов
   aka AMIGO
 
3 - 29.11.17 - 09:50
А еще интересные результаты может показать ЗамерПроизводительности.
   MrStomak
 
4 - 29.11.17 - 09:50
Регистратор не составного типа?
   Александр056
 
5 - 29.11.17 - 09:51
(4) нет
   MrStomak
 
6 - 29.11.17 - 09:51
Так не бывает))
   Александр056
 
7 - 29.11.17 - 09:51
(3) замер производительности у скд? где? или выполенения запроса?
   Александр056
 
8 - 29.11.17 - 09:52
(6) регистратор 1 документ. Из него ничего не тащу, специально все складываю так что бы в регистре лежала "готовая простыня"
   MrStomak
 
9 - 29.11.17 - 09:52
Сколько записей в регистрах всего? Не результат отчета, а записей в регистрах?
   Александр056
 
10 - 29.11.17 - 09:53
(9) столько же как и писал, выводится все, ни отборов ни группировок, ничего, просто как в екселе табличка
 
 Рекламное место пустует
   MrStomak
 
11 - 29.11.17 - 09:53
(8) Кстати если даже ничего не тащишь, знай, что вывод регистратора - это уже обращение к нему для получения даты и номера. Тоже самое касается представлений всех других справочников/документов, которые у тебя в реквизитах регистра.
   nordbox
 
12 - 29.11.17 - 09:54
сожми в ТИИ таблицы и переинексируй
   MrStomak
 
13 - 29.11.17 - 09:54
(10) если выводится всё, то индексы смысла не имеют
   MrStomak
 
14 - 29.11.17 - 09:54
(12)
Индексы_бессмысленны_выводится_всё
   VladZ
 
15 - 29.11.17 - 09:54
(0) "результат 55-60 тыс строк" - кому нужен такой отчет?
   Александр056
 
16 - 29.11.17 - 09:54
(13) понимаю, просто пока не пойму что делать, разница только в том что 1 РС независимый а второй подчинен регистратору
   Александр056
 
17 - 29.11.17 - 09:55
(15) я тоже самое говорил, человек хочет видеть на экране вот такую "простыню" привык работать в екселе, туда тащит кусками или полностью
   MrStomak
 
18 - 29.11.17 - 09:55
(10)
Выводи во втором случае только номер заявки, остальные поля не выводи - как изменится время
   nordbox
 
19 - 29.11.17 - 09:55
(16) ну так с этого и начинай
   vi0
 
20 - 29.11.17 - 09:55
что у тебя занимает основное время - запрос или вывод?
мне кажется нужно начать с этого
если уж ты упомянул скд
   MrStomak
 
21 - 29.11.17 - 09:56
(16) Да какая разница? Ты же не к виртуальной таблице обращаешься?
   MrStomak
 
22 - 29.11.17 - 09:57
ставлю на то, что во втором случае много ссылочных реквизитов, время тратится н получение представления
   vi0
 
23 - 29.11.17 - 09:57
сколько всего измерений во втором регистре, каким по счету стоит измерение номер заявки?
   Александр056
 
24 - 29.11.17 - 09:57
(21) нет
   Александр056
 
25 - 29.11.17 - 09:58
(22) пробовал, погода не изменилась
   Александр056
 
26 - 29.11.17 - 09:58
(23) измерение 1 и там и там, реквизитов кучка так же и там и там
   MrStomak
 
27 - 29.11.17 - 09:59
(25) Выводи СКД программно, смотри сколько уходит на запрос.
   vi0
 
28 - 29.11.17 - 10:01
(26) это регистр сведений?
отборы какие к запросу?

возможно, причина в том что в первом случае используется кластерный индекс
   MrStomak
 
29 - 29.11.17 - 10:02
(28) да хватит про индексы. там НЕТ ОТБОРОВ.
   MrStomak
 
30 - 29.11.17 - 10:03
поясняю - это всегда clustered index scan будет.
   Александр056
 
31 - 29.11.17 - 10:04
(28) отборов нет
   MrStomak
 
32 - 29.11.17 - 10:05
(31) А сортировка есть, кстати?
   Александр056
 
33 - 29.11.17 - 10:06
(32) нет(
 
 
   vi0
 
34 - 29.11.17 - 10:06
(29) не кричи, дети спят)
   Dotoshin
 
35 - 29.11.17 - 10:07
(0) А сколько записей в каждом из этих регистров?
   novichok79
 
36 - 29.11.17 - 10:07
смотри технологический журнал. вполне вероятно, что там творится какая-то дичь.
   vi0
 
37 - 29.11.17 - 10:08
слишком разные отчеты и вообще входные данные
и, видимо, не все сказал из исходных данных
   Dotoshin
 
38 - 29.11.17 - 10:08
+ (35) Сколько реквизитов в одном и в другом регистре и какого они размера?
   Александр056
 
39 - 29.11.17 - 10:10
в быстром реквизитов чуть более 20, во втором по 50 ))
   vi0
 
40 - 29.11.17 - 10:10
ветка быстро и верно превратилась в гадание на кофейной гуще
делай замеры всех этапов формирования отчета
   Александр056
 
41 - 29.11.17 - 10:10
(35) записей в 1 13 00 во втором 622 000, быстро работает тот у которого 622 000
   Александр056
 
42 - 29.11.17 - 10:11
как замерить отчет СКД?
   Dotoshin
 
43 - 29.11.17 - 10:13
(39) Ну вот в этом и может быть причина, если ты читаешь все реквизиты, ибо на физическое прочтение реквизита тоже требуется время и чем больше этих реквизитов и чем больше они занимают места, тем дольше будет считываться одна запись.
Попробуй исключить из выборки часть реквизитов и посмотри на скорость выполнения запроса
   МимохожийОднако
 
44 - 29.11.17 - 10:13
(42) Внутри формы поставь точки остановки до и после вывода
   Dotoshin
 
45 - 29.11.17 - 10:14
(42) В консоли запрос погоняй
   Dotoshin
 
46 - 29.11.17 - 10:17
Еще проблема может быть из-за фрагментации таблицы, попробуй сделать обновление статистики, реиндексацию и прочие регламенты для sql
   Йохохо
 
47 - 29.11.17 - 10:19
(29) ловко он тебя обманул (41)
(46) еще может быть 30 добавленных относительно 1 реквизитов Строка (неогр)
   nordbox
 
48 - 29.11.17 - 10:22
Разница большая, вот ради эксперимента так:
еще два измерения где будет хранить номер и дату заявки и пусть сделает запрос для начала без периода и не по регистру! а именно по этим полям
   FIXXXL
 
49 - 29.11.17 - 10:25
(0) у регистратора ОбработкаПолученияПредставления() есть?
 
 Рекламное место пустует
   Dotoshin
 
50 - 29.11.17 - 10:26
(47) Проблема не в добавленных, а в том что и в каком количестве считывается из таблицы, условно говоря чем больше байт нам нужно прочитать из записи, тем дольше будет длиться этот процесс, чисто с физической точки зрения.
   Александр056
 
51 - 29.11.17 - 10:26
(47) строк неограниченной длинны нет(
   Александр056
 
52 - 29.11.17 - 10:28
(49) есть...
   MrStomak
 
53 - 29.11.17 - 10:31
(52) Так ты же сказал, что пробовал выводить только измерение "НомерЗаявки"! Опять соврал?
   vi0
 
54 - 29.11.17 - 10:32
(50) а также эти поля будут выводиться дольше в таб документ
   nordbox
 
55 - 29.11.17 - 10:36
(52) сделай как в (48)
   MrStomak
 
56 - 29.11.17 - 10:37
(55) (18) (22) (25)
   Александр056
 
57 - 29.11.17 - 10:38
(53) не выбираю я его, у регистратора в модуле менеджера есть, но я гео не вывожу! почему соврал? и почему опять?
   FIXXXL
 
58 - 29.11.17 - 10:38
(52) и что там?
учти, что этот код выполняется на каждую строку отчета :)
   Александр056
 
59 - 29.11.17 - 10:38
представление я выбирал у тех реквизитов которые ссылочного типа
   Александр056
 
60 - 29.11.17 - 10:39
сейчас запущу только вывод измерения
   nordbox
 
61 - 29.11.17 - 10:39
(56) Номер получать не из регистратора а отдельного поля
   MrStomak
 
62 - 29.11.17 - 10:40
(61) Читай (0), номер - это отдельное поле Строка(14)
   vi0
 
63 - 29.11.17 - 10:41
(0) выложи сюда оба отчета
   Йохохо
 
64 - 29.11.17 - 10:42
(57) выполни запросы без вывода вообще, тупо в обработке выполнить и все, и замерь время
   MrStomak
 
65 - 29.11.17 - 10:43
(60) А в (25) ты что запускал?
(57)
1. Соврал, что пробовал исключить эффект получения представления, чем направил следствие по ложному пути.
2. Путаешься в показаниях относительно количества записей в медленном регистре.
   Александр056
 
66 - 29.11.17 - 10:44
(65) пишу третий раз в долгом регистре чуть больше 13 000 строк что не ясно? я так и писал
   Александр056
 
67 - 29.11.17 - 10:45
(65) тут наверное не так выразился, еще раз опишу, представление брал только у реквизитов в регистре пробовал и без них, ссылочного типа, регистратор не трогал ни разу.
   Йохохо
 
68 - 29.11.17 - 10:46
(66) тогда поясни (0) "результат 55-60 тыс строк"
   MrStomak
 
69 - 29.11.17 - 10:46
(66) Ну и расскажи тогда, почему запрос по нему без соединений/объединений возвращает 55-60 тысяч строк?
Наворотил группировок СКД?
   Cyberhawk
 
70 - 29.11.17 - 10:48
Сравни итоговые запросы СКД
   MrStomak
 
71 - 29.11.17 - 10:49
(67) Исключить влияние получения представления - это исключить из вывода все поля ссылочных типов. Регистратор, не регистратор - не волнует. Все. Поля. Ссылочных. Типов.
   PCcomCat
 
72 - 29.11.17 - 10:49
В СКД вычисляемые поля замедляют формирование отчета очень сильно. Поэтому лучше вычисления в запросе делать.
   MrStomak
 
73 - 29.11.17 - 10:51
(67) И если ты делаешь ПРЕДСТАВЛЕНИЕ(НекаяСсылка) -  то это не значит, что ты исключил замедление от получения представления. Это всё равно будет соединение.
   Александр056
 
74 - 29.11.17 - 10:54
(73) ок понял, сейчас выкину эти реквизиты. (69) блииин написал через пень колоду
   Александр056
 
75 - 29.11.17 - 10:58
сейчас сделал по реккомендации, убрал процедуру обработка получения представления у документа регистратора, хз почему, я его не выводил и тут же сработало в 10 раз быстрее
   FIXXXL
 
76 - 29.11.17 - 11:00
(75) "Автозаполнение" стоит под запросом?
   MrStomak
 
77 - 29.11.17 - 11:02
(75) Так не бывает. Регистратора вообще в результате запроса не было или просто ты не выводил его в поля СКД?
   MrStomak
 
78 - 29.11.17 - 11:03
(75) В СКД есть "Выражение представления" у поля. Вместо того, чтобы убирать для всей системы представление документа, лучше всё же в этом поле уточнить, как его формировать..
   Александр056
 
79 - 29.11.17 - 11:05
(76) lf
   Александр056
 
80 - 29.11.17 - 11:06
(78) там сделали у документа не корректно, нужно только на форме в заголовке по сути, сейчас перенес и все будет ок
   Александр056
 
81 - 29.11.17 - 11:13
всем спасибо большое.
   Александр056
 
82 - 29.11.17 - 11:14
MrStomak - отдельное
   vi0
 
83 - 29.11.17 - 11:22
(81) пожалуйста
больше не огорчай нас
   Александр056
 
84 - 29.11.17 - 11:35
(83) ok



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