2013-06-17 3 views
8

현재 JDBC에서 현재 구현에서 JDBC로 내 Java 웹 응용 프로그램을 전환합니다. 정적 변수에 응용 프로그램을 초기화 할 때 정적 데이터를로드하므로 필요할 때마다 데이터베이스에 직접 액세스 할 필요가 없습니다. 정적 데이터, 지금 최대 절전 모드로 전환 나는 최대 절전 모드로 연구에서 캐시에로드 된 데이터를 유지로 이러한 정적 변수를 제거하는 생각입니다.최대 절전 모드 및 JDBC 성능?

현재 최대 절전 모드로 전환하면 성능이 향상 될지 모르겠다. 필자는 최대 절전 모드 캐싱에 대해 더 자세히 조사 할 것이고 어떤 방법이 더 나은지 알아보기 위해 성능 테스트를 수행 할 것이지만이 두 가지 방법 모두에서 성능과 관련하여 다른 사람들이 생각하는 것에 대한 의견을 원할 것입니다.

감사합니다.

+2

의 의견은이 사이트에 [오프 토픽] (http://stackoverflow.com/help/on-topic)입니다. –

+1

JDBC에서 최대 절전 모드로 변경하는 이유는 무엇입니까? 성능 측면에서, 잘 작성된 JDBC (캐싱 포함)는 매번 최대 절전 모드를 깨야합니다. 유지 보수 측면에서 대답은 ... 어떤 종류의 쿼리/데이터베이스 수정이 필요한지에 달려 있습니다 ... – beny23

+0

주로 캐싱 기능에 관심이 있다면 최대 절전 모드가 아닌 ehcache로 이동하십시오. 평균 최대 절전 모드 저자는 10 %의 오버 헤드를 요구합니다. –

답변

8

JDBC는 대부분의 데이터베이스 공급 업체에서 Hibernate와 비교할 때 항상 더 나은 성능을 제공합니다. 아래 링크에서 비교를 확인하실 수 있습니다. 그는 더 적은 수의 행을 가진 테이블을 쿼리 할 때 최대 절전 모드가 빠르다는 결론을 내 렸습니다.

http://phpdao.com/hibernate_vs_jdbc/

JDBC와 SQL 쿼리를 통해 최대 절전 모드의 선택은하지 때문에 성능이지만, 때문에 이유는 주로 데이터베이스에 특정 쿼리를 작성하지 않는 점에서 지속성 및 데이터베이스 독립을 반대. 더 나은 견해를 얻으려면 pdf 가이드를 읽으십시오.

http://www.mindfiresolutions.com/mindfire/Java_Hibernate_JDBC.pdf

0

특별한 상황에서 필요한 정적 값을 유지하는 고유 한 개체를 만드는 것이 좋습니다. 응용 프로그램 초기화 중 또는 해당 데이터가 처음으로 요청 될 때이를 채울 수 있습니다.

비교 퍼포먼스의 경우 가장 좋은 경우는 Hibernate 기반 데이터 액세스 레이어가 JDBC만큼 성능이 좋았거나 퍼포먼스 저하가 전체 사용자 expereince에 영향을 미치지 않는다는 것입니다. Hibernate는 개발 속도를 높이고 유지 보수성을 높이는 데 사용되며, JDBC보다 성능이 좋다.