Тема: Find
Показать сообщение отдельно
Старый 17.07.2008, 13:14   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от MikeR Посмотреть сообщение
Тут еще такая вещь существует чтобы не тянуть весь буфер записи - record-a на большой таблице иногда лучше писать обычный select
X++:
select Name from Inventtable where Inventtable.itemId = _ItemId;
вместо
X++:
InventTable::find(_ItemId).Name;
Не всегда.
select Inventtable where Inventtable.itemId = _ItemId;
Эта запись будет закэширована в Аксапте, если у таблицы указано что ее надо кэшировать. Следовательно, повторный InventTable::find(_ItemId).Name; может и не привести к генерации запроса на SQL

А вот это
select Name from Inventtable where Inventtable.itemId = _ItemId;
кэшироваться не будет. следовательно повторный вызов приведет к повторному запросу на SQL.
__________________
полезное на axForum, github, vk, coub.