Имя: Пароль:
1C
 
Есть какая-нибудь методика чтения больших запросов?
,
0 Галахад
 
гуру
28.03.24
12:05
Ну кроме как послать творцу лучи добра и налить свежую кружку кофе.
1 Lama12
 
28.03.24
12:09
Декомпозируй.
2 Garykom
 
гуру
28.03.24
12:13
(0) Такая не устроит?
3 Garykom
 
гуру
28.03.24
12:16
(1) +1 на кучу ВТ
4 steep1
 
28.03.24
12:17
(0) Самое просто, это начать самому писать большие запросы, после этого понятие чужих больших запросов придет автоматически.
5 Ёпрст
 
28.03.24
12:17
(0) есть же всякие анализаторы запросов и разложение их в графы на нимфостарте
6 Hans
 
28.03.24
12:18
Есть какая то методика на Курсы РФ Насипова.
7 Ёпрст
 
28.03.24
12:19
8 Галахад
 
гуру
28.03.24
12:26
(1) 🤝

(2) Нет. Кстати насколько удобно?

(3) 🤝

(4) Не люблю много контекста одновременно.

(5), (7) О, спасибо. Почитаю.

(6) 🤝
9 trdm
 
28.03.24
12:30
А разве конструктор не декомпостирует запрос?
запустил, посмотрел на последнюю звкладку.
10 Волшебник
 
28.03.24
12:33
(0) Начинать с конца
11 Garykom
 
гуру
28.03.24
12:35
(8) >Нет. Кстати насколько удобно?
Обычно не использую, но большой монитор 4K удобно что много влазит на один экран
12 Галахад
 
гуру
28.03.24
12:41
(9) Для чего? Что бы знать имена таблиц?

(10) 🧐 Спасибо, кэп.

(11) Наверное для EDT удобно.
13 d4rkmesa
 
28.03.24
12:45
(8) Консоль из ИР довольно удобно разбивает запросы из пакета  в дерево, каждую ветку из которой можно выполнить отдельно.
14 Галахад
 
гуру
28.03.24
12:54
(13) Да. ИР отличная штука.
15 101101
 
28.03.24
13:28
Вместо любого большого запроса можно написать несколько маленьких в цикле. Может так и не правильно с позиции производительности, но намного быстрее писать и отлаживать потом.
16 Dmitrii
 
гуру
28.03.24
13:57
(15) >> намного быстрее писать и отлаживать потом

Писать и отлаживать надо сначала, а не потом.
Разве нет?
17 rphosts
 
28.03.24
14:00
(13) всё так, но порой на входе запроса не только вагон параметров но и менеджерВТ с тележкой ВТ
18 Valdis2007
 
28.03.24
14:02
(2) +1...надо заказать себе...давно собираюсь
19 101101
 
28.03.24
14:02
(16)
Потом всплывают неизвестные заранее нюансы
20 Dmitrii
 
гуру
28.03.24
14:04
Любые методики работают ровно до того момента, пока ты не сталкиваешься с программным интерфейсом типа того, что реализован в ЗУП.
Когда сам запрос может быть и небольшим, но он не обращается к таблицам базы данных, а только к временным таблицам (ВТ) из менеджера временных таблиц (МВТ), которые сформировались перед его (основного запроса) выполнением во множестве процедур различных модулей. Каждый небольшой текст запросов, создающих ВТ для МВТ, может ещё и меняться и редактироваться в этих процедурах в зависимости от каких-то параметров и условий.
21 Гипервизор
 
28.03.24
14:12
(20) Ох, +100500, это внеземной разум.
22 Valdis2007
 
28.03.24
14:14
(20) +1...это они Hibernate такой свой делают
23 Hans
 
28.03.24
14:17
Запрос отражение в рег учете ЕРП. Любой документ порядка 10к строк запроса. Это что такое? неоптимальная архитектура или как раз оптимальная?
24 DimVad
 
28.03.24
14:17
(17) Ну я сперва перебрасываю в ИР запросы формирующие эти ВТ (ну там перебрасываются и параметры).
25 Hans
 
28.03.24
14:20
Так же в ЕРП сейчас есть запросы которые тупо не открываются конструкторами, при этом выполняются без проблем.
26 Dmitrii
 
гуру
28.03.24
14:21
(21) (22) Ну.... на самом деле там не всё так уж и страшно.

Проблема в том, что для ого, чтобы в ЗУПовском программном интерфейсе разобраться нужно время. А в условиях отсутствия внятной документации ещё и постоянно в этом вариться.

Для тех, кто погружён в тему, это не составляет особого труда. И многие вещи кажутся вполне себе логичным и здравыми.

Однако, для специалиста, который заглядывает туда раз в сто лет, это кажется непроходимыми дебрями.
27 ildary
 
28.03.24
14:42
(0) Проблема только в том, что надо разобраться в связях между временными таблицами?
28 rphosts
 
28.03.24
14:51
(24) если в какой-то ЕРП - там жесть сколько всякого накручивается порой... но с другой стороны наверное по другому никак
29 unbred
 
28.03.24
15:12
(0) читаю по диагонали . обращаю внимание только на "ИЗ"  И "ГДЕ" (либо параметры виртуальной)
с вложенными запросами не работает. там приходится вчитываться.
ненавижу.
30 Garykom
 
гуру
28.03.24
15:12
(28) По другому это рефакторинг ("переписать все нафуй") - а на это нужны время и деньги
Зачем если и так продается?
31 Garykom
 
гуру
28.03.24
15:13
(30)+ Не факт что после переписывания не будет еще хуже ))
32 Valdis2007
 
28.03.24
15:23
(29) ненавижу.

а теперь представь, как удобно было читать программы в машинных кодах 60 лет назад?

Сразу легче станет))
33 olegves
 
28.03.24
16:36
мне нравится консоль ИР - там все промежуточные таблицы, а так можно по одной табличке в консоли смотреть/добавлять
34 Timon1405
 
28.03.24
17:08
(33) и даже через ирОбщий.Отладить(Запрос) можно в нее данные из отладки подкинуть, но, как замечают коллеги выше, в современных типовых такие спагетти из временных таблиц что даже ИР уже не вывозит.
35 unbred
 
28.03.24
17:12
(32) иногда...иногда, вложенные имеют смысл, так как ускоряют запрос, в сравнении с ВТ.

но в большинстве случаев запросы с вложенными запросами пишут староверы, которые знать не знают про ВТ и чихать хотели на читабельность.

представь, что 60 лет назад были ровно такие-же ситуации.
не вижу причин заглядывать в 60 лет назад.
36 unbred
 
28.03.24
17:18
(35) в догонку.
особенно умиляет, когда у тебя вагон вложений и ты их именуешь.. вложенный запрос. это просто ад.
37 bolder
 
28.03.24
20:47
(35) Да,тоже столкнулся.Красивый запрос с ВТ исполняется на 10-15% медленнее.Плюнул,оставил как есть.
38 Прохожий
 
28.03.24
20:47
(0) Перепиши все. Заодно разберешься. Но после этого понимать будешь только ты.
39 bolder
 
28.03.24
20:51
(38) Я согласен с (4).Нужно самому начать их писать.
В процессе будут находки.
40 Garykom
 
гуру
28.03.24
20:53
(37) Правильно написанный не медленней
Фишка что без ВТ СУБД сама оптимизирует план запроса (может одновременно вложенный и наружный "считать")
А вот когда выделены ВТ (по сути несколько запросов в одном) то они по порядку выполняются
И вот тут может быть не оптимально, слишком большие ВТ формируются а затем соединяются криво
41 DimVad
 
29.03.24
06:08
(29) // с вложенными запросами не работает.
Я скачивал с инфостарта "Отладчик запросов (by Акулов А.С.).epf".

В нём есть такая фичка - он может все вложенные запросы автоматически преобразовать в запрос с временными табличками.

Кнопочка такая есть :-)

Копируешь запрос в эту консоль, преобразуешь, копируешь обратно в ИР и там уже отлаживаешь. Запрос с временными таблицами - он "линейный", его легче отлаживать.

p.s. У меня версия только на ОФ, не знаю есть ли на УФ, но это в любом случае не проблема если надо использовать только выделение подзапросов.
42 DJ Anthon
 
29.03.24
08:58
в ерп на каждое проведение почти любого документа программно создается запрос на 5000-15000 строк. вот их читать одно удовольствие )
43 Garykom
 
гуру
29.03.24
10:00
(41) А как насчет обратно из запроса с ВТ в запрос с вложенными?
44 Garykom
 
гуру
29.03.24
10:01
(42) Читать ладно. Их дорабатывать пришлось для акцизов...
45 mikecool
 
29.03.24
10:05
когда проходил собес в 1с, мне обещали научить методе собирать исходный запрос по МВТ и ежи с ним
не повезло, когда ответили по результатам собеса я уже полгода(!) работал на новой работе )
46 Волшебник
 
29.03.24
10:45
(45) не "ежи", а "иже"
47 DimVad
 
29.03.24
10:58
(43) Ну кнопочка "Собрать запрос" там есть, на небольших запросах пробовал - работает.
48 sdf
 
29.03.24
14:44
В отличии от ТС, я больше писатель, чем читатель, но тоже ничего не влазит, и приходится есть этот желтый кактус (как те ежи...).
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс