|   |   | 
| 
 | Дали запрос, который необходимо оценить. | ☑ | ||
|---|---|---|---|---|
| 0
    
        wowik 24.10.18✎ 21:33 | 
        Подскажите, все ли здесь правильно?
 ВЫБРАТЬ ТоварыНаСкладахОстатки.Склад КАК Склад, ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.КоличествоОстаток КАК СкладОстаток, ТоварыОрганизацийОстатки.КоличествоОстаток КАК ОрганизацияОстаток ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыОрганизаций.Остатки КАК ТоварыОрганизацийОстатки ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыОрганизацийОстатки.Номенклатура.Ссылка ГДЕ ТоварыНаСкладахОстатки.Склад = &Склад И ТоварыОрганизацийОстатки.Организация = &Организация И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура | |||
| 1
    
        Лефмихалыч 24.10.18✎ 21:35 | 
        нет     | |||
| 2
    
        1CSharp 24.10.18✎ 21:35 | 
        5 ошибок насчитал     | |||
| 3
    
        Лефмихалыч 24.10.18✎ 21:37 | 
        (2) а две последние строчки - это у тебя две ошибки или одна?     | |||
| 4
    
        wowik 24.10.18✎ 21:37 | 
        Сообщите пожалуйста об ошибках. Это крайне важно. Я нашел ошибки некоторые, необходимо сравнить.     | |||
| 5
    
        palsergeich 24.10.18✎ 21:38 | 
        (4) 
 ГДЕ ТоварыНаСкладахОстатки.Склад = &Склад И ТоварыОрганизацийОстатки.Организация = &Организация И ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура это одна большая ошибка | |||
| 6
    
        Лефмихалыч 24.10.18✎ 21:38 | 
        (4) сначала ты свои выкладывай, а то так не интересно     | |||
| 7
    
        PR 24.10.18✎ 21:38 | 
        (4) Да легко
 После сообщите запятая нужна | |||
| 8
    
        wowik 24.10.18✎ 21:39 | 
        (6) - нет соединения по Складу, СерииНоменклатуры,Характеристике между "ТоварыНаСкладах" и "ТоварыОрганизаций"
 - вместо ТоварыОрганизацийОстатки.Номенклатура.Ссылка нужно писать ТоварыОрганизацийОстатки.Номенклатура, это лишняя связь - отбор необходимо делать в виртуальных таблицах - отбор по складу в одном регистре есть, в другом нет, почему? | |||
| 9
    
        palsergeich 24.10.18✎ 21:40 | 
        (8) Потому что товары организаций там нет складов. А в товарах на склаждах нет организаций, это разные разделы учета     | |||
| 10
    
        Лефмихалыч 24.10.18✎ 21:45 | 
        (8) слона-то ты и не приметил.
 Соединение здесь само по себе - это один большой косяк. Виртуальные таблицы соединяют друг с другом только мудаки. | |||
| 11
    
        palsergeich 24.10.18✎ 21:46 | 
        ТоварыНаСкладахОстатки.Номенклатура = ТоварыОрганизацийОстатки.Номенклатура.Ссылка Само по себе грубейшая ошибка, а если взять последнюю УТ, то в товарах организации нет измерения Номенклатура вообще, там ключиАналитикиНоменклатуры     | |||
| 12
    
        wowik 24.10.18✎ 21:47 | 
        (10) +100!     | |||
| 13
    
        1CSharp 24.10.18✎ 21:47 | 
        (3) Считал как две. Там с учетом отбора по номенклатуре можно ещё одну прибавить, но уже было лень писать)
 (8) Соед... | |||
| 14
    
        palsergeich 24.10.18✎ 21:47 | 
        (10) Это оперативные остатки, там это допускается     | |||
| 15
    
        wowik 24.10.18✎ 21:47 | 
        (9) это почему нет склада в товарах организаций? от настроек зависит.     | |||
| 16
    
        Лефмихалыч 24.10.18✎ 21:47 | 
        и отборы все - в параметры надо. Это помимо того, что так в принципе не надо делать вообще изначально     | |||
| 17
    
        palsergeich 24.10.18✎ 21:50 | 
        (15) Потому что нету https://ibb.co/dZ7iGV     | |||
| 18
    
        1CSharp 24.10.18✎ 21:50 | 
        (10) А что не так с соединением виртуальных таблиц?
 Как иначе получить остатки из двух виртуальных таблиц в строке? | |||
| 19
    
        wowik 24.10.18✎ 21:51 | 
        (17) Конфигурация УПП 1.3, забыл сказать.     | |||
| 20
    
        palsergeich 24.10.18✎ 21:54 | 
        (18) При неоперативных остатках это подзапрос 2го уровня вложенности и оптимизатор СУБД очень сильно лажает. Это если в кратце.
 При оперативных отстатках - просто поиск с отборами в таблице остатков - там соединение 2х вирт таблиц остатков не вызовет технологических проблем | |||
| 21
    
        Лефмихалыч 24.10.18✎ 21:55 | 
        (18) для этого - временные таблицы.
 С самими виртуальными нет проблем, проблемы начинаются с из соединением друг с другом потому, что виртуальная таблица - это запрос. | |||
| 22
    
        1CSharp 24.10.18✎ 21:56 | 
        (20) Т.е. просто сначала в ВТ предлагаете поместить?     | |||
| 23
    
        palsergeich 24.10.18✎ 21:58 | 
        (21) Не просто запрос, а получаются расчитанные остатки и от них суммируются движения, и при соединении оптимизатор очень часто и очень сильно лажает.
 При ОПЕРАТИВНЫХ остатках (без указания периода остатков) - простейший запрос. ВТ тоже не бесплатные. Оперативные остатки - не имеет смысла. Не оперативные остатки - имеет смысл | |||
| 24
    
        vde69 24.10.18✎ 22:00 | 
        для начала нужно заполнить максимум параметров в виртуальной таблице     | |||
| 25
    
        Лефмихалыч 24.10.18✎ 22:01 | 
        (23) горшочек, не вари
 (22) да | |||
| 26
    
        palsergeich 24.10.18✎ 22:03 | 
        (25) Ну ок, мне же лучше, я потом за исправление в том числе таких ошибок премии получаю.     | |||
| 27
    
        vde69 24.10.18✎ 22:03 | 
        (22) не обязательно, все зависит от размера выборки виртуальных таблиц после того как сделаешь (24)
 и надо учитывать, что создание ВТ и работа внутри нее имеет свои накладные расходы, по этому ВТ имеет смысл далеко не всегда... | |||
| 28
    
        wowik 24.10.18✎ 22:08 | 
        Можете поставить оценку по пятибалльной шкале разработчику данного запроса?     | |||
| 29
    
        Лефмихалыч 24.10.18✎ 22:08 | 
        (28) кол. Вазелинового дерева.     | |||
| 30
    
        palsergeich 24.10.18✎ 22:09 | 
        (28) 2, все ошибки, кроме трений нужно ВТ или нет являются грубейшими     | |||
| 31
    
        palsergeich 24.10.18✎ 22:10 | 
        И хоть никто не обратил на это внимание, но вот это ТоварыОрганизацийОстатки.Номенклатура.Ссылка Просто злейшее зло, особенно в соединении     | |||
| 32
    
        vde69 24.10.18✎ 22:11 | 
        (28) данный запрос на базе где в регистрах будет хотя бы по 100тыс записей (а это очень не много) - тебе завесит сервак минут на 10... причем полность....
 по этому автору - 2 с минусом | |||
| 33
    
        palsergeich 24.10.18✎ 22:13 | 
        (32) Не, может и проскочить, я встречал когда и 3 соединения ВТ, где параметры были в ГДЕ оптимизатор понимал и подбирал оптимальный план запроса, но это исключение, а не правило.     | |||
| 34
    
        Лефмихалыч 24.10.18✎ 22:14 | 
        (31) полно-те вам, батенька, брюзжать - на это обратил внимание автор     | |||
| 35
    
        vde69 24.10.18✎ 22:15 | 
        (31) это не всегда ошибка, это будет гемороем только если тип составной, остальное скуль заоптимизирует с большой долей вероятности.
 вообще условие в джойне не должно вести к деградации составного индекса, ТоварыОрганизацийОстатки.Номенклатура.Ссылка - однозначно ведет к деградации, но тут вопрос на какой длине это будет, если это условие отсечет только хвост индекса, то все не так и плохо, а вот если приведет к полному фулскану - то плохо... | |||
| 36
    
        palsergeich 24.10.18✎ 22:15 | 
        (34) Лучи добра Вам)     | |||
| 37
    
        Лефмихалыч 24.10.18✎ 22:15 | 
        (33) эо просто оптимизатор ошибся четное количество раз     | |||
| 38
    
        Лефмихалыч 24.10.18✎ 22:17 | 
        мучительно нудная вечеринка в кнайпе "Старые пердуны" объявляется открытой...     | |||
| 39
    
        H A D G E H O G s 24.10.18✎ 23:53 | 
        Даже в оперативных остатках будет подзапрос, чтобы сложить разделение итогов, другой вопрос, что оптимизатор его нормально прожевывает.     | |||
| 40
    
        palsergeich 25.10.18✎ 00:10 | 
        (39) Да будет, но не двойной     | |||
| 41
    
        dmpl 25.10.18✎ 07:22 | 
        (14) Соединение количественных данных вместо объединения - верный путь получить неверные цифры из-за задваивания-затраивания строк.     | |||
| 42
    
        dmpl 25.10.18✎ 07:30 | 
        (32) Проверил на базе объемом 300 Гб. Отработал за секунду. Причем это на тестовом сервере, где оборудование уже не фонтан.     | |||
| 43
    
        Повелитель 25.10.18✎ 07:43 | 
        (28) 2 балла разарбочику     | |||
| 44
    
        palsergeich 25.10.18✎ 07:49 | 
        (42) 1) а смысл смотреть без нагрузки.
 2) соединение по 1 номенклатуре из оперативных остатков 1 секунду - это просто ужасный результат. | |||
| 45
    
        toypaul гуру 25.10.18✎ 08:20 | 
        Кто-то тут курсов по оптимизации похоже пересмотрел. Только смотрел похоже в режиме 5 минут через 10.
 Первый вопрос к запросу - а что хотели получить. А уж потом про ошибки. | |||
| 46
    
        organizm 25.10.18✎ 08:31 | 
        во первых, нужно использовать виртуальные таблицы с максимальным количеством отборов , во вторых, использовать объединение.     | |||
| 47
    
        dmpl 25.10.18✎ 08:32 | 
        (44) Это компенсируется тем, что база не в ОЗУ, и лежит на "зеленом" HDD WD. Ну и обещали 10 минут минимум. При этом если бы оптимизатор лажанул, то запрос минимум 30 секунд бы работал на этой базе.     | |||
| 48
    
        0xFFFFFF 25.10.18✎ 08:36 | 
        (2) я насчитал одну ошибку. Весь запрос - одна большая ошибка.     | |||
| 49
    
        zak555 25.10.18✎ 08:39 | 
        (0) для начала надо узнать : какую задачу решал поставленный запрос 
 Например, если есть ордерная схема, то запрос все эти движения без подтверждений не учитываются | |||
| 50
    
        palsergeich 25.10.18✎ 08:41 | 
        (49) 100% это тестовая задача - найдите ошибки в этом запросе и объясните почему это так     | |||
| 51
    
        zak555 25.10.18✎ 08:45 | 
        (50) по мне главное это понимание как работают те или регистры 
 Остальное дело техники | |||
| 52
    
        ADirks 25.10.18✎ 08:48 | 
        (0) По моему, тут даже не в запросе что-то не так. Тут с архитектурой беда. Два регистра с остатками ТМЦ - это злейшее зло. Я то думал, после ТИСа они так больше не лепят, ан оказывается нет...     | |||
| 53
    
        Cool_Profi 25.10.18✎ 08:49 | 
        (52) А у тебя были сомнения, что в 1с сидят качественные архитекторы?     | |||
| 54
    
        palsergeich 25.10.18✎ 08:54 | 
        (51) то что при соединении все поплывет это ответ на должность повыше, обычно просят не вдаваться в детали, а рассказать что в тексте не нравится сходу. 
 (53) ну ДО то адекватный достаточно вышел. | |||
| 55
    
        ADirks 25.10.18✎ 08:54 | 
        (53) ну, местами то вполне ничо
 но вот последнее время частенько в ЗиКе колупаюсь - вот где наркоманы то тусовались. да и в ЗУПе тоже. традиции блин... | |||
| 56
    
        SoulPower 25.10.18✎ 09:06 | ||||
| 57
    
        zak555 25.10.18✎ 09:15 | 
        (52) первый для хранения остатков по складам и резервам
 Второй остатки для хранения склады/организации -- основание для расчета себеса | |||
| 58
    
        wowik 25.10.18✎ 09:26 | 
        (50) нет, это к сожалению не тест, это в жизни.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |