|
![]() |
#1 |
Участник
|
Цитата:
Эта "удобная фикша" приводит к тому, что на запрос одной таблицы (справочника, регистра), платформа 1С может автоматически построить очень сложный запрос с кучей join'ов. А если запросить две таблицы, то легко можно получить запрос с несколькими десятками таблиц. И прощай всякая оптимизация. Хотя бы потому, что управлять или отключать такое разыменование невозможно. А, например, MS SQL перестает выполнять оптимизию запроса, если в нем указано больше 8 таблиц. Ни в коем случае! Цитата:
Сообщение от Сисой
![]() Также язык запросов 1С имеет интересное расширение Итоги (Total),
Эта конструкция позволяет, сохранив первоначальный текст запроса, автоматически добавлять в результат итоги, посчитанные по заданным группировкам. Причем результат можно тут же выгрузить в дерево, узлами которого будут описанные итоги. ![]() |
|
|
За это сообщение автора поблагодарили: Logger (6). |
![]() |
#2 |
Участник
|
Mazzy, ты отрицаешь очевидное. В 1С думающий программист точно так же, как и в стандартном SQL, построит запрос без разыменования, используя только inner и outer join. Более того, на этом настаивают специалисты УЦ 1С. Здесь вопрос риторический: а всегда ли нужно ставить оптимизацию по скорости запросов во главу угла, игнорируя качество работы программиста? Всегда ли нужно получать реквизиты по связи запросом, или можно написать:
X++: =..; Ответ в каждом конкретном случае разный. На курсах в УЦ 1С специалистов знакомят с правилами хорошего тона и оптимизацией кода по скорости. Но если я пишу небольшую сервисную обработку, для которой время исполнения некритично, я буду использовать "фишки 1С" даже в ущерб производительности. Чтобы через год проще было понять и модифицировать код. Чего точно нет в 1С, так это возможности использовать хинты в запросах. Тоже ведь палка о двух концах... |
|
![]() |
#3 |
Участник
|
Цитата:
![]() 1. Большинство запросов в типовых конфах УЖЕ написано с разыменованием ![]() 2. Даже если не делать разыменование в тексте запроса, а обратиться к "Запрос.Контрагент.ПолноеНаименование", то платформа 1С все равно сделает разыменование (скорее всего отдельным запросом). Давай поговорим о думающих программистах, когда типовые будут УЖЕ написаны таковыми. Сейчас думающим программистам приходится либо снимать с поддержки и править код по самые помидорки, либо махнуть рукой. Цитата:
![]() А теперь выясняется, что какие-то специалисты УЦ на чем-то настаивают. Так является ли преимуществом приведенный тобой пример с разыменованием? ![]() Это да. И не надо. По тем же соображениям. |
|
Теги |
1c, платформа, сравнение систем |
|
|