2012-11-24 2 views
0

나는 IDE로, Eclipse Helios와 Oracle11g를 데이터베이스로, Glassfish 3를 서버로 사용하여 최대 절전 모드를 배우고 있습니다. 간단한 응용 프로그램을 따르고 있습니다. (JSF+Spring+Hibernate)간단한 jsf 봄 절전 응용 프로그램이 매우 느립니다.

간단한 선택과 삽입이 매우 느려서 선택 쿼리에 거의 25 초가 걸렸습니다. 일반 JDBC와 비교할 때 왜 속도가 느린지 알고 싶습니다.

아래는 server.log에서 가져온 것입니다. 내 페이지를 새로 고치면 동일한 쿼리가 5 번 실행됩니다. 이것이 천천히 나아갈 이유인가?

INFO: Hibernate: select customer0_.CUSTOMER_ID as CUSTOMER1_0_, 
customer0_.NAME as NAME0_, customer0_.ADDRESS as ADDRESS0_, customer0_. 
CREATED_DATE as CREATED4_0_ from scott.customer customer0_ 

INFO: Hibernate: select customer0_.CUSTOMER_ID as CUSTOMER1_0_, 
customer0_.NAME as NAME0_, customer0_.ADDRESS as ADDRESS0_, customer0_. 
CREATED_DATE as CREATED4_0_ from scott.customer customer0_ 

INFO: Hibernate: select customer0_.CUSTOMER_ID as CUSTOMER1_0_, 
customer0_.NAME as NAME0_, customer0_.ADDRESS as ADDRESS0_, customer0_. 
CREATED_DATE as CREATED4_0_ from scott.customer customer0_ 


INFO: Hibernate: select customer0_.CUSTOMER_ID as CUSTOMER1_0_, 
customer0_.NAME as NAME0_, customer0_.ADDRESS as ADDRESS0_, customer0_. 
CREATED_DATE as CREATED4_0_ from scott.customer customer0_ 


INFO: Hibernate: select customer0_.CUSTOMER_ID as CUSTOMER1_0_, customer0_. 
NAME as NAME0_, customer0_.ADDRESS as ADDRESS0_, customer0_. 
CREATED_DATE as CREATED4_0_ from scott.customer customer0_ 

모든 통찰력이나 도움은 매우 주목할 만합니다.

답변

1

글쎄, 동일한 쿼리를 5 번 수행하면 페이지를로드하는 데 가장 효율적인 방법이 될 것 같지 않다.

Hibernate와 같은 도구가 무엇을하는지 이해하는 것이 중요합니다. 즉, 모든 것이 수행된다고 가정 할 수는 없습니다. 따라서 생성 된 SQL을 살펴 보는 것은 확실히 올바른 일입니다.

그러나 실제로 응용 프로그램을 프로파일 링하여 질문에 답변 할 수 있습니다. 쿼리가 실행되는 데 25 초가 걸리면 Oracle 진단 도구를 살펴 봐야합니다.

+0

sqlplus에서 동일한 쿼리를 실행하면 밀리 초 단위로 실행됩니다. 그렇다면 Oracle 데이터베이스와 관련이 있습니까? – user75ponic

+0

아마도 그렇지 않습니다. 속도 저하가 어디 있는지 알아 내려면 프로파일 러를 가동시켜야합니다. –

관련 문제