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


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

В этой группе 1С