JDBC Connection запрашивает с MySQL, например, медленнее, чем с Derby? - PullRequest
6 голосов
/ 15 февраля 2009

Я использую

  • Tomcat
  • C3p0 (JNDI настроен внутри Tomcat)
  • MySQL (InnoDB) / Derby (не встроен) в качестве базы данных
  • EHCache (в памяти)
  • Hibernate
  • Testmachine запускает WinXP

Я использовал Derby для разработки и хотел перейти на MySQL. Я был удивлен, увидев, что с MySQL мои тесты были примерно на 50% медленнее, чем с Derby.

Мой тестовый сценарий:

  • Приблизительно 2000 Выбирает, различаясь по сложности, но ни один не использовал более одного объединения. Все SQL используют индексы
  • Ehcache заполняется настройкой Run. После этого я запускаю тестовый сценарий не менее 50 раз, чтобы преодолеть эффекты оптимизатора / GC

Я проверил, что кеш используется. В базу данных НЕТ реальных SQL. Так что я просто предполагаю, что именно время создания соединения замедляет тестирование MySQL.

...