|
обращение к реквизиту vs запрос |
☑ |
0
Dirk Diggler
25.11.11
✎
07:47
|
Запрос с выбором реквизита всё еще быстрее, чем обращение объект.реквизит ?
|
|
1
Нуф-Нуф
25.11.11
✎
07:58
|
да. так как при обращении к объекту из базы тянется весь объект полностью, а уж потом из вытащенного берется нужный реквизит
|
|
2
Wobland
25.11.11
✎
08:06
|
интересная тема. в первом случае одно телодвижение, во втором Выполнить().Выбрать(). на малых данных, может, и дольше будет
|
|
3
Нуф-Нуф
25.11.11
✎
08:10
|
да если честно имхо никто никогда не задумывается и фигачят Объект.Реквизит
так что и ты не парься. вот когда дойдешь до того что для тебя каждый запрос к БД будет на вес золота - тогда и оптимизируй
|
|
4
Escander
25.11.11
✎
08:11
|
(2)если объект уже есть - быстрее потянуть реквизит с него, хотя считается не кошерно, а если ещё нет его - тогда чтение объекта платформой будет преобразовано к тому-же самому запросу но по всем реквизитам... т.е. с запросом дольше пишется но быстрее отрабатывает.
|
|
5
Dirk Diggler
25.11.11
✎
17:05
|
(1) я в курсе. только вот почему бы не переделать платформу так, чтобы обращение объект.реквизит переделывалось интерпретатором в мини-запрос автоматически и не парило бы голову программерам?
|
|
6
Живой Ископаемый
25.11.11
✎
17:07
|
а... это такой способ общаться с разработчиками платформы?
|
|
7
Ненавижу 1С
гуру
25.11.11
✎
17:09
|
(5) обращение к реквизиту ссылки это и есть мини-запрос, обращение к реквизиту объекта не влечет извлечения данных из СУБД
|
|
8
Живой Ископаемый
25.11.11
✎
17:11
|
Для Каждого Оформление Из ОформленияСтрок Цикл
Если НЕ Оформление.ДанныеСтроки.ЭтоГруппа И Не Оформление.ДанныеСтроки.Актуальность Тогда
Оформление.ЦветТекста = ЦветаСтиля.ЦветРамки;
КонецЕсли;
Если Не Элементыформы.СправочникСписок.Колонки.ДРФО.Видимость Тогда
Продолжить;
ИначеЕсли Оформление.ДанныеСтроки = Неопределено Тогда
Продолжить;
ИначеЕсли Оформление.ДанныеСтроки.Ссылка.ЭтоГруппа Тогда
Продолжить;
Иначе
Оформление.Ячейки.ДРФО.УстановитьТекст(Оформление.ДанныеСтроки.Ссылка.ФизЛицо.КодПоДРФО);
КонецЕсли; // <<< СЮДА СМОТРЕТЬ
КонецЦикла;
выполнение этой строчки занимает около 80% времени при открытии формы списка справочника, занимает около 13 секунд. запрос, выгрузка в тз-кэш и поиск по ней дал выигрыш в 10 раз.
|
|
9
Defender aka LINN
25.11.11
✎
17:12
|
(7) Только этот запрос все реквизиты считывает, а не 1.
(5) А если тебе потом еще 5 реквизитов потребуется?
(2) Учи матчасть :)
|
|
10
Dirk Diggler
25.11.11
✎
17:25
|
(9) переключаемые режимы надо делать ))) препроцессором )
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший