| 
    
        
     
     | 
    
  | 
Запрос в 8000 строк с 70 параметрами это нормально? | ☑ | ||||||
|---|---|---|---|---|---|---|---|---|
| 
    0
    
        Hans    
     26.01.14 
            ✎
    14:36 
 | 
    
 
        В УТ 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) Ну тут уже только анализ плана запроса поможет.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |