Я оцениваю прирост производительности от использования кэша 2-го уровня в Hibernate (с включенным EhCache), но, похоже, он не повышает производительность На самом деле время выполнения запроса немного увеличивается.
Запрос:
session.createCriteria(MyEntity.class).list();
Сущность:
@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class MyEntity {
@Id
@GeneratedValue
private long id;
@Column(length=5000)
private String data;
//---SNIP getters and setters---
}
Мой файл hibernate.cfg.xml:
<!-- all the normal stuff to get it to connect & map the entities plus:-->
<property name="hibernate.cache.region.factory_class">
net.sf.ehcache.hibernate.EhCacheRegionFactory
</property>
Таблица MyEntity содержит около 2000 строк.
Проблема заключается в том, что перед добавлением в кеш запрос, приведенный выше, для перечисления всех сущностей занимал в среднем 65 мс. После кеша они занимают в среднем 74 мс. Я что-то упускаю? Нужно ли что-то сделать, чтобы повысить производительность?