Показать сообщение отдельно
Старый 19.06.2017, 14:21   #7  
AnGor is offline
AnGor
Участник
Аватар для AnGor
 
97 / 46 (2) +++
Регистрация: 30.08.2007
Адрес: Ulm
Записей в блоге: 6
я почему спросил: в таблице UnitOfMeasureConversion в методах insert, update, delete
происходит чистка кэша:
UnitOfMeasureConversionCache::flushOnConversionChanged(this.FromUnitOfMeasure, this.ToUnitOfMeasure, this.Product);
по моим наблюдениям она всегда пуста (я о UnitOfMeasureConversionCache).
у нас есть надстройка для портовой логистики, этот функционал очень часто дергает UnitOfMeasureConversion. из за этого происходят deadlock на delete UnitOfMeasureConversionCache.
я пока убрал эту чистку и таблица UnitOfMeasureConversionCache начала расти, но не сильно, в унисон с UnitOfMeasureConversion. и кстати конвершн стал быстрее.
но что я еще заметил - расчет происходит быстрее поиска готового кэша.
теперь я не ищу расчет в кэше, а делаю его каждый раз:
в партнерском классе, наследнике от UnitOfMeasureConverter_Product сделал override findConversion(), таблицу UnitOfMeasureConversionCache я стал использовать как временную.
пока полет нормальный.

Последний раз редактировалось AnGor; 19.06.2017 в 14:25.
За это сообщение автора поблагодарили: macklakov (5).