Имя: Пароль:
1C
1С v8
Запрос в 8000 строк с 70 параметрами это нормально?
0 Hans
 
26.01.14
14:36
1. Ненормально 55% (18)
2. Нормально 45% (15)
Всего мнений: 33

В УТ 11 такой пакетный запрос при расчете скидок. Который сейчас крайне медленно работает. Они издеваются что ли? Больше запрос кто то видел?
1 NcSteel
 
26.01.14
14:40
Это где такое?

А по факту тут возможна проблема с построением плана запроса. Так что не забываем регламентные процедуры
2 shuhard
 
26.01.14
14:41
(0)[ Они издеваются что ли]
нет
[Больше запрос кто то видел?]\
да

Нормально
3 Lama12
 
26.01.14
14:41
Я писал в 50 000 строк с 7 параметрами на 8.0
Запрос летал.
4 Sorm
 
26.01.14
14:42
(0) Нет. Если это действительно так, то налицо, имхо, ошибка проектирования.
5 Lama12
 
26.01.14
14:42
Проголосую.

Нормально
6 shulerr
 
26.01.14
14:42
От кого шифруетесь, господа?

Ненормально
7 Steel_Wheel
 
26.01.14
14:45
(0) В ЗУПе есть что-то сравнимое
8 Сияющий Асинхраль
 
26.01.14
14:45
Для 1С это нормально, а так, конечно, это изврат...
9 Адимр
 
26.01.14
14:45
(0) Выложи текст запроса.
10 User_Agronom
 
26.01.14
14:46
(0) А сколько временных таблиц? Укажи версию и в каком модуле/процедуре.
(9) Гы-гы.
11 Hans
 
26.01.14
14:47
(2) УТ 11.0.9.8 Общий модуль СкидкинаценкиСервер процедура РассчитатьДеревоСкидокНаценок(ПараметрыРасчета, ВходныеПараметры) где то здесь он собирается.
12 Hans
 
26.01.14
14:48
(10) там 200 с лишним пакетов у меня в запросе.
13 Hans
 
26.01.14
14:51
Считаю что это тоже ошибка проектирования. При адекватной структуре таблиц таких запросов быть не должно.

Ненормально
14 Ksandr
 
26.01.14
14:51
Циклом что ли собирается?
Видел такое в Бух КОРП при определенных условиях падало на ограничении в 256 таблиц.
15 Hans
 
26.01.14
14:54
(14) да есть там цикл какой то. Видимо размер запроса зависит от количества применяемых скидок и условий по ним. У нас скидок 30 и условий скидок 30.
16 Базис
 
naïve
26.01.14
14:54
Выкладывай прям сюда, положим хостинг :)

Ненормально
17 jsmith82
 
26.01.14
14:56
это издевательство

Ненормально
18 jsmith82
 
26.01.14
14:57
(13) +1
19 КонецЦикла
 
26.01.14
15:00
Полезное хоть что делает? Что возвращает?

Я делал всякие заморочки, все укладывалось обычно в пару страниц текста на T-SQL. У разработчиков, видать, уже крыша поехала.

Ненормально
20 vde69
 
модератор
26.01.14
15:01
шаблон RLS в документообороте боле 10 000 строк....

я писал об этом примерно 3 года назад... http://infostart.ru/public/87912/

при том это RLS оно вызывается практически постоянно :)

Ненормально
21 shulerr
 
26.01.14
15:15
Разработчик с++ рекомендовал в описании языка делать функции не длиннее 50 строк. Не помещается - разбивать. Повторюсь, это просто рекомендация
22 trdm
 
26.01.14
15:22
(21) правильная рекомендация. спасает от геморроя в сопровождении.
23 EvgeniuXP
 
26.01.14
15:46
теперь это головная боль.

Ненормально
24 Злобный Фей
 
26.01.14
16:44
(20) В УТ11 то же самое в рлс
25 milan
 
26.01.14
16:45
(13) считаешь что ошибка проектирования - спроектируй правильно, выложи свой быстрый универсальный легко встраиваемый в конфу модуль расчета скидок на вражеский ресурс и стань миллионером

Нормально
26 Лефмихалыч
 
26.01.14
16:52
(20) в ДО это пофиксили. С появлением дескрипторов РЛС стали по большому счету даже читаемыми.
Правда там все равно инопланетянство с доступом, но стало полегче - пользователи добавляются за конечное время хотя бы
27 kot275
 
26.01.14
16:56
(0)Это ты еще в УПП не ковырял, там такого, особенно в блоке расчета заплаты, валом.
ДВА Оракла пишут и поболее.

Нормально
28 GANR
 
26.01.14
17:07
Если он интуитивно понятный и быстро работает, то...

Нормально
29 Gr
 
26.01.14
17:21
чем дальше, тем дурнее

Ненормально
30 ilyavorobyev
 
26.01.14
17:23
Чем больше строк, тем больше денег
31 0xFFFFFF
 
26.01.14
17:45
(30) Откуда? При нормальной структуре модуля/запросов добавить фигулинку - 15 минут. "Округляем", получаем 1час. Заказчек доволен.
Когда запрос на 100500 строк, ту же фигулинку добавить - надо сначала часов 10, чтобы разобраться - что это, как в "это" вписать, притом, чтобы "это" не поломать.
Заказчек возмущен.
32 sttt
 
26.01.14
17:45
(30) это у амеров, в россии чем меньше тем больше денег)))
33 sttt
 
26.01.14
17:46
(30) за всякую индускую лапшу денег не платят
34 Фокусник
 
26.01.14
18:05
(15) т.е. у вас такой бардак в ценообразовании, а виноват динамический запрос? ;)
35 Hans
 
27.01.14
11:05
(34) ну маркетингом занимаюсь не я, да и программа должна адекватно выдерживать и поболее а не тормозить при каких то 30ти скидках. во вторых это у нас такая гибкая система скидок по дисконтным картам с множеством порогов и разным процентом. + В разных филиалах эти скидки немного различаются.
36 Wobland
 
27.01.14
11:08
37 Wobland
 
27.01.14
11:09
и да

Ненормально
38 Hmster
 
27.01.14
11:16
Бывают разные прикладные задачи, но параметров что-то многовато.
Видел и поболее, даже сам такие писал для отчета. Время выполнения около 15 секунд было, но сильно зависело от периода.
Так все равно должно быть быстрее чем отдельными кусками собирать
39 Господин ПЖ
 
27.01.14
11:18
>Больше запрос кто то видел?

rls в БСП... чудо враждебной техники
40 b-dm
 
27.01.14
13:19
на мой взгляд в типовых весь функционал заявленный должен быть реализован самым простейшим способом.т.к. юзает вся страна, и все глюки и медленнодействие не всегда можно обнаружить в таких гиганстких запросах

Ненормально
41 Karavanych
 
27.01.14
13:26
(40) Т.е. вы всерьез предлагаете 1С писать в типовых запросы в которых бы глюки и медленнодействие легко обнаруживались :)

Нормально
42 Pasha
 
27.01.14
13:27
(0) Это он с разработчиком ЗУП дружит наверное...
Я бы взял их обоих... и ..Хотя расстрелять - это слишком легко

Ненормально
43 Котокот
 
27.01.14
13:34
(0) Предложите более быстродействующий вариант.

Нормально
44 kiruha
 
27.01.14
13:35
(0)
У меня есть штатные запросы с десятками параметров, 400-500 временных таблиц. Строк запроса несколькот тыщ
Работает крайне быстро (относительно конкурирующих решений)

Медленно не от того, что 70 параметров, а от узкого места, которое искать надо

Нормально
45 МишельЛагранж
 
27.01.14
13:35
(3)Я писал в 50 000 строк с 7 параметрами на 8.0
- сказочник. в УПП около 1 млн строк, в УТ и подавно меньше.
46 Klesk666
 
27.01.14
13:36
(0) поэтому и расчет скидок идет на весь документ отдельной кнопкой
зато кстати очень гибко можно настроить (вытеснение, сложение, минимум, максимум)
кстати добавлял свои типы скидок, вообще в этот запрос не влезал

Нормально
47 kiruha
 
27.01.14
13:41
(44)+
естественно запросы формируются динамически, а не вручную 5000 строк кода
48 wowik
 
27.01.14
13:54
по рукам

Ненормально
49 13_Mult
 
27.01.14
15:24
Большой не значит плохой!

Нормально
50 MaxisUssr
 
27.01.14
15:37
Конечно плохо, а если что-то сломается (люди же запрос пишут, могут что-то не предусмотреть) - как чинить? Конечно, все будут отлаживать, работать-то нужно - но это же гемор жуткий. Он хоть конструктором открывается? Если как в ЗУПе там какие-то вставки текста посреди запроса - то это полное неуважение...

Ненормально
51 MaxisUssr
 
27.01.14
15:38
P.S. Интересно, как они сами такие запросы тестируют перед релизом программы
52 dmpl
 
27.01.14
15:42
(0) Что, ни разу ЗУПовских запросов на 200 кБ не видел?

Нормально
53 dmpl
 
27.01.14
15:45
(35) Так и пиши: "дурим покупателей, чтобы никто ничего не понял". Покупателю "гибкая система" не нужна. Ему надо так: "Скидка 20%" - на все.
54 Hans
 
27.01.14
15:51
(53) Ты кто? Про маркетолог?
55 dmpl
 
27.01.14
15:55
(54) Всех маркетологов надо согнать в одно место и сбросить со скалы. Они - источник заразы под названием копроэкономика.
56 Эстет хренов
 
27.01.14
16:08
Дурная и никому не нужная работа, сотни строк бездарного изменяющегося от релиза к релизу кода который невозможно отладить и кастомизировать.
Клиенты-мелочь в такой сложный функционал даже не лезут.
Крупные клиенты блок автоматических скидок выбрасывают или полностью переписывают под себя.
На выходе имеем горе-программу-чемодан без ручки.

Ненормально
57 YV
 
27.01.14
16:20
Ненормально, но разработчики типовых по другому писать не умеют. Для них вообще характерно переусложнять даже самые простые вещи.

Ненормально
58 TormozIT
 
гуру
27.01.14
19:48
Интересно, в чем они разрабатывают такие запросы =)
59 Hans
 
27.01.14
19:52
(58) то что у них есть какая то консоль запросов недоступная простым смертным - это факт.
60 dmpl
 
28.01.14
09:08
(59) А зачем какая-то консоль? Просто готовишь кусочки и собираешь потом из них конечный запрос. Просто надо уметь программировать - так, чтобы написал код, и он с 1-2 запуска работал без ошибок.
61 Reaper_1c
 
28.01.14
09:24
Когда для решения задачи больше подходят матричные вычисления это

Нормально
62 DeeK
 
28.01.14
12:01
всему виной мне кажется героин

Ненормально
63 ifso
 
28.01.14
12:47
Это все проблемы давления соленых растворов в головах скидкотолог0ff.

Нормально
64 Вуглускр1991
 
28.01.14
22:14
Отличная голосовалка! Вот и определились, кто нормальный, а у кого ....
65 jsmith82
 
28.01.14
22:14
нормальных людей на мисте больше
радует
66 Hans
 
28.01.14
22:39
(60) ненавижу когда запрос собирают из кусков и когда вызов консоли запросов не срабатывает.  Постоянно крою матом тех кто так делает.
67 Steel_Wheel
 
28.01.14
23:06
(66) есть простой workaround -- найди место вызова функции Выполнить() и забери у запроса текст.
68 scanduta
 
28.01.14
23:30
Запрос в 8000 строк.... Теерь ты видел больше

Ненормально
69 CepeLLlka
 
28.01.14
23:37
(66)Из кусков имеется ввиду из ВТ я так думаю... и всё срабатывает..
И в зупе нет запросов на 8к строк.. большие - да, но на 8к строк нет мне кажется..
70 КРТЩ
 
30.01.14
13:30
(0) не только видел, сам писАл такие

Нормально
71 dmpl
 
30.01.14
13:53
(66) Как ты понимаешь, если чел пишет без консоли - ему без разницы, открывается запрос в консоли или нет. Но ничто не мешает и в этом случае сделать все 1 строкой, чтобы он открывался в консоли.
72 jk3
 
10.02.14
13:57
(11) Прогонял я когда-то отладчиком эту процедуру -- жестокая вещь.

А так ответ в (44) -- тормозить может от какого-то одного соединения, а не от того, что запрос на 8к строк.

Ненормально
73 kiruha
 
10.02.14
15:48
(72)
+1
Я такие запросы исследовал методом бинарного деления.
Запрос делится на 2 части(или несколько).
Замеры : Выполнить 1 и Выполнить 2
Потом в проблемную часть еще на 2 .
И так пока не выявится самый вложенный проблемный запрос
74 kiruha
 
10.02.14
15:49
Выявленый проблемный запрос тупо был построен так, что не попадал в индекс
75 Адинэснег
 
10.02.14
15:51
если платят по 1 тр за строку, то

Нормально
76 mistеr
 
10.02.14
15:58
Я лишь позволю себе напомнить, что в типовых (в отличие от многих наших поделок) такие запросы тестируют на производительность. Так что проблема скорее всего в перекошенных данных или настройках скуля.
77 dmpl
 
10.02.14
16:03
(73) А что делать, если отдельно обе части выполняются быстро, а вместе - медленно? ;)
78 TormozIT
 
гуру
10.02.14
16:05
В консоли запросов ИР кстати есть команда "Выполнить все подзапросы" http://devtool1c.ucoz.ru/_si/0/50350575.jpg
В колонке "Длительность чистая" дерева запроса при этом вычисляется грубое время выполнения каждого узла дерева как длительность выполнения самого узла минус сумма длительностей выполнения всех непосредственных дочерних узлов.
79 TormozIT
 
гуру
10.02.14
16:06
(78) Таким образом можно в большинстве случаев можно быстро локализовать самые проблемные с точки зрения длительности узлы дерева запроса.
80 TormozIT
 
гуру
10.02.14
16:11
(77) Ну тут уже только анализ плана запроса поможет.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший