Hibernate против Ibatis кеширования - PullRequest
4 голосов
/ 14 ноября 2009

Мы можем легко ускорить переход в спящий режим с помощью кэша 2-го уровня, используя Infispan или ehcache / terracotta, ... но ibatis имеет только простой интерфейс для реализации для кэширования. Кроме того, hibernate знает больше информации о данных, что также помогает улучшить кэширование. С другой стороны, простота ibatis также является его мощью, и она быстрее, чем гибернация, если мы не используем кэширование для обоих.

Мой вопрос; если я использую hibernate с кешем 2-го уровня и ibatis3 с реализацией кеша для его интерфейса, что будет более быстрым кандидатом на уровень доступа к данным?

Приветствия

1 Ответ

4 голосов
/ 14 ноября 2009

Быстрое не общее качество, производительность должна рассматриваться в контексте.

Хороший подход выглядит так:

  1. код достаточно быстро, достаточно эффективно множество запросов, необходимых во всем приложении. Завершите этот этап раньше , потому что вы быстро пишете код и не используете хитрую технологию для повышения производительности.
  2. находит 1% запросов, которые выполняются недостаточно быстро, которые вызываются часто и т. Д., Поэтому они составляют наибольшее общее время (учитывая только те, которые ожидает настоящий пользователь).
  3. потратьте достаточно времени на оптимизацию этого (у вас есть это время, потому что вы выиграли время в фазе 1). Вы можете использовать вещи настолько быстро, что вы не будете рассматривать их глобально (кэш памяти, собственный SQL, процедуры базы данных ....).
  4. возвращайтесь к 2, пока не закончится время или ваши пользователи не будут удовлетворены.
...