#6
by Kain_wrath
я знаю что срез последних вернет мне одну строку стоит ли в этом случае использовать получить последнее? Или лучше шаманить с таблицей значений?
#14
by fisher
Не, ну вот реально. Вообще не вижу смысла в объектной модели для получения данных, если только это не динамическая выборка.
#15
by fisher
Завтра понадобится какие-нить сопутствующие данные выбрать, и что? Придется плодить обращения к БД или переписывать на тот же запрос. Лучше уж сразу, чтобы два раза не вставать.
#17
by DS
А если завтра не понадобится? Зачем два раза вставать? А если сразу писать тот же запрос, а завтра понадобится, это как-то облегчит работу?
#18
by fisher
Объектная выборка справочников и документов получает данные из БД по принципу динамического списка - порционно. Может быть удобно для обработки очень больших объемов. А если не понадобится, то как минимум не надо запоминать лишние методы. Если понадобится - конечно облегчит. Получить доп.реквизит через точку или соединение воткнуть всяко быстрее, чем с нуля этот же запрос рисовать. Да и вообще объектная модель очень редко когда сейчас оптимальна даже на старте. Во всех алгоритмах пытаешься за один-два запроса все нужные данные вытащить, чтобы минимизировать обращения к БД. Объекты тут в пролете.
#19
by DS
Есть ситуации, когда целесообразно одно, есть - когда целесообразно другое. Поэтому, не вижу смысла фантазировать.
#20
by fisher
Какая в опу фантазия? Суровая практика жизни. Придумай мне хоть один случай когда объектный доступ будет целесообразнее. Если крупно повезет в эксплуатационном цикле - то он будет просто не хуже запроса. Поэтому не надо ля-ля.
#24
by fisher
Сомнительная польза. 10-15%, хотя время выполнение тестов подозрительно мало (для тестов). Фиг его знает, чего на более крупных выборках покажет.
#29
by pavig
"Объектная выборка справочников и документов получает данные из БД по принципу динамического списка - порционно. Может быть удобно для обработки очень больших объемов." А выборка из результата запроса разве не так работает? Она тоже не вся получается, а порционально. Вот только результат, скорее всего, хранится на сервере приложений. С объектной моделью, скорее всего, тоже именно так и происходит. И ничем выборка по объектной модели не отличается.
#35
by fisher
Только того этого. С блокировками возможны вопросы. Надеюсь, у тебя туда конкурентно не фигачат в больших объемах. Зря не веришь.
#39
by H A D G E H O G s
Дополнительный индекс там не нужен, он никак не исползоваться не будет. ииии, не факт, что будет быстрее...
#40
by H A D G E H O G s
Вся проблема в строчке И &Дата МЕЖДУ ЦеныНоменклатуры.Период И ЦеныНоменклатуры.ПериодОкончания которая мутируется в строчку именно оператор <= вызывает то, что сначало будет индексный поиск по полю Период и остаточный скан по ПериодОкончания.
#41
by H A D G E H O G s
Если вы делаете именно Срез, без отборов по измерениям - то выгода будет, если у вас немного отбором по измерениям - то выгода сомнительна, она будет из за отсутствия Сортировки, которая возникает там неявно. Если у вас отборы почти по всем измерениям - будет проигрыш, так как эти отборы попадут в остаточный индексный скан.
#43
by H A D G E H O G s
Прошу прощения. В типовом Срезе отбор по измерениям (даже без пропусков) также попадает в остаточный индексный скан. Да, метод Ненавижу выигрывает всегда. Просто ему не надо добавлять индекс на ресурс.
#44
by rozer76
итс: Особенности методов менеджера регистра сведений У объекта РегистрСведенийМенеджер имеется набор методов для доступа к данным регистра сведений. Методы СрезПервых и СрезПоследних позволяют найти наиболее ранние и наиболее поздние записи по всем комбинациям измерений. При этом может быть установлен отбор записей. Методы возвращают таблицу значений, содержащую строки соответствующие найденным записям. По своему действию эти методы аналогичны виртуальным таблицам СрезПервых и СрезПоследних. Их единственное преимущество перед использованием запроса - краткость записи. Методы Получить, ПолучитьПервое и ПолучитьПоследнее отличаются тем, что предназначены для получения только значений ресурсов. Методы возвращают структуру, содержащую элементы, соответствующие ресурсам регистра. Основным отличием описанных методов является то, что методы Получить, ПолучитьПервое и ПолучитьПоследнее выдают значения одной записи, а методы СрезПервых и СрезПоследних позволяют получить несколько записей. В методах Получить, ПолучитьПервое и ПолучитьПоследнее структура возвращается в любом случае. То есть если в регистре нет записей с указанными значениями отбора, то будет возвращена структура, содержащая значения ресурсов по умолчанию. Таким образом, методы Получить, ПолучитьПервое и ПолучитьПоследнее целесообразно использовать в тех случаях, когда, с точки зрения прикладной задачи, нужны данные одной записи, и значение по умолчанию вполне может быть использовано как не установленное значение для этой комбинации измерений, то есть соответствовать отсутствию записи. Например, если хранятся цены товаров, то получение цены 0 (ноль) вполне может отвечать логике использования не установленной цены. В этом случае удобно использовать эти методы и не анализировать в модуле имеется ли запись в регистре или нет. Однако если наличие или отсутствие записей с указанной комбинацией измерений существенно, то нужно использовать запрос или методы СрезПервых и СрезПоследних для периодических регистров сведений. С точки зрения производительности, методы СрезПервых и СрезПоследних оптимизированы именно для получения данных одной записи. Разумеется, в конкретных ситуациях (в зависимости от структуры измерений, варианта хранения базы данных и т.д.) соотношение может быть различным.
#45
by Serginio1
А ты план запроса смотрел? Помоему и в том и в другом случае будет поиск по Периоду на меньше или равно
#49
by GANR
Прямой SQL-запрос - не потратится время на преобразование 1С-запроса к запросу MS SQL ))).
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Учет номенклатуры в различных единицах измерения
- Защита внешних обработок штатными средствами
- УТ 11.1 выгрузка остатков на сайт
- БСП. Не открывается форма внешней обработки
- БСП. Обмен данными через план обмена с правилами
- медленно запускается вирт машина на hyper-v
- настройка сканера через порт клавиатура
- РБП не попадает в КУДиР
- ЦУП не показывает блокировки, ожиданий на блокировках СУБД
- Возможно ли заводить новые балансовые счета первого уровня?
- Итоги в кросс-таблице СКД
- Вызвать программно событие НачалоВыбораИзСписка
- Отбор по типу регистратора в универсальном отчете
- Пример модификации документа через REST посылкой PATCH-запроса
- Как открыть управляемую форму с позиционированием внутри папки?
- закрытие месяца БП Корп 2.0
- Розница 2.0 вывод чека и ФИО кассира в аспд штрих-light
- Глюк в 1С при работе на ТСД+РДП
- Нумерация в регистре сведений.
- Как отключить выпадающий список