![]() |
#6 |
Member
|
Цитата:
Сообщение от Владимир Максимов
...
кеширование влияет на производительность. Но здесь нет однозначного ответа ... Если же большинство пользователей работает со всей картотекой номенклатуры, то нет никакого смысла в кешировании. ... InventTable::find(...) А точнее, когда запись выбирается по первичному ключу. Если код работает на сервере приложений, то в таком случае будет лишнее обращение на сервер БД. Номенклатура там скорее всего будет тоже в кеше, поэтому потери производительности вы можете не ощутить визуально. Впрочем, если запускается долгоиграющая периодическая процедура (типа закрытия склада), в которой может очень-очень много раз вызываться InventTable::find(...) подразумевая, что кеширование включено, производительность может просесть заметно. Не говоря уже о лишнем трафике (Аксапта имеет привычку выбирать все поля в записи). Если же код будет выполняться на клиенте (display методы, если по-хорошему), то потеря производительности при отключении кеширования будет заметна даже невооруженным глазом. Когда я был помоложе, то тоже увлекался отключением кеширования. Но все-таки пришел к тому, что не стоит. Вот вам джоб. X++: static void glibs(Args _args) { InventTable inventTable; Counter i; TimeOfDay startTime, endTime; ; startTime = timenow(); for (i = 1; i <= 10000; i++) { inventTable = InventTable::find("Test"); } endTime = timenow(); info (strfmt("%1", endTime - startTime)); } У меня разница приблизительно на порядок получилась.
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
Теги |
кэширование |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|