안녕하세요. 현재 query로 서비스로 데이터 조회시에 결과가 대략 record가 1000건? 이상이 되면 IQueryService로 find했을때 굉장히 느려집니다.
실제로 sql을 실행했을때는 2초 정도만에 다 올라오는데요 find 했을 때만 속도가 느려집니다...
특별히 조치해야할 것이 있을까요?
있다면 어떤 부분을 보아야 할까요?
조치 방법을 찾기 위해 다음과 같은 사항에 대한 정보를 주셨으면 합니다.
1. DBMS : Oracle 9i 2. Query Service : anyframe.core.query-3.1.0 3. 조회 대상 테이블 칼럼 개수 : 7개 4. 객체 유형 : Map 5.
<query id="selectDataList" isDynamic="true"> <statement> <![CDATA[ sql 쿼리~~ ]]> </statement> </query>
위와 같습니다.
저희 구축된 시스템도
DBMS : Oracle 10G 인데..유사한 경우가 있더라고요..
anyframe.core.query-3.1.0
문제인듯 한데..운영중인 시스템이라서..버젼을 그냥 올려도 되는지
몰라서. 사용자에게 강제로 범위지정을 하게끔 해서 사용은 하고 있는데..
근본 해결책을 알고 싶습니다.
아래에 Query Servie와 JDBC Connection을 가지고 Oracle 10g 에서 성능 테스트 수행한 결과를 보면 별반 차이가 없음을 알수 있습니다.
7개의 컬럼을 가진 테이블에 대해 1999개의 row를 검색한 결과이며, 각각 20번씩을 반복 수행되었습니다.
테스트 대상인 Anyframe Core 3.1.0의 Query 서비스에서는 특별한 문제가 발견되지 않았습니다.
테스트를 실행한 Test Case를 첨부하오니 확인하시기 바랍니다. (* 첨부는 문의 글에 추가되어 있습니다.)
-------------------------- 테스트 결과---------------------------------
log4j:INFO Using URL [file:/D:/devel/eclipse3.4.1/workspace/anyframe.core.query/target/test-classes/log4j.properties] for automatic log4j configuration of repository named [default]. Attempting to drop old table Create new table #case : using jdbc connection - size 1999, execution time : 1.031 #case : using jdbc connection - size 1999, execution time : 0.906 #case : using jdbc connection - size 1999, execution time : 0.829 #case : using jdbc connection - size 1999, execution time : 0.906 #case : using jdbc connection - size 1999, execution time : 0.828 #case : using jdbc connection - size 1999, execution time : 0.891 #case : using jdbc connection - size 1999, execution time : 0.828 #case : using jdbc connection - size 1999, execution time : 0.922 #case : using jdbc connection - size 1999, execution time : 0.828 #case : using jdbc connection - size 1999, execution time : 0.875 #case : using jdbc connection - size 1999, execution time : 0.812 #case : using jdbc connection - size 1999, execution time : 0.891 #case : using jdbc connection - size 1999, execution time : 0.828 #case : using jdbc connection - size 1999, execution time : 0.891 #case : using jdbc connection - size 1999, execution time : 0.843 #case : using jdbc connection - size 1999, execution time : 0.875 #case : using jdbc connection - size 1999, execution time : 0.813 #case : using jdbc connection - size 1999, execution time : 0.875 #case : using jdbc connection - size 1999, execution time : 0.828 #case : using jdbc connection - size 1999, execution time : 0.859 Attempting to drop old table Create new table #case : using IQueryService connection - size 1999, execution time : 0.953 #case : using IQueryService connection - size 1999, execution time : 0.906 #case : using IQueryService connection - size 1999, execution time : 0.906 #case : using IQueryService connection - size 1999, execution time : 0.86 #case : using IQueryService connection - size 1999, execution time : 0.891 #case : using IQueryService connection - size 1999, execution time : 0.828 #case : using IQueryService connection - size 1999, execution time : 0.891 #case : using IQueryService connection - size 1999, execution time : 0.859 #case : using IQueryService connection - size 1999, execution time : 0.891 #case : using IQueryService connection - size 1999, execution time : 0.859 #case : using IQueryService connection - size 1999, execution time : 0.891 #case : using IQueryService connection - size 1999, execution time : 0.828 #case : using IQueryService connection - size 1999, execution time : 0.891 #case : using IQueryService connection - size 1999, execution time : 0.859 #case : using IQueryService connection - size 1999, execution time : 0.875 #case : using IQueryService connection - size 1999, execution time : 0.859 #case : using IQueryService connection - size 1999, execution time : 0.875 #case : using IQueryService connection - size 1999, execution time : 0.844 #case : using IQueryService connection - size 1999, execution time : 0.891 #case : using IQueryService connection - size 1999, execution time : 0.843
Re] Query사용시 속도가 느려져요..
조치 방법을 찾기 위해 다음과 같은 사항에 대한 정보를 주셨으면 합니다.
1. DBMS : Oracle 9i2. Query
1. DBMS : Oracle 9i
2. Query Service : anyframe.core.query-3.1.0
3. 조회 대상 테이블 칼럼 개수 : 7개
4. 객체 유형 : Map
5.
<query id="selectDataList" isDynamic="true">
<statement>
<![CDATA[
sql 쿼리~~
]]>
</statement>
</query>
위와 같습니다.
저도 유사한 경험을 한 경우입니다.
저희 구축된 시스템도
DBMS : Oracle 10G 인데..유사한 경우가 있더라고요..
anyframe.core.query-3.1.0
문제인듯 한데..운영중인 시스템이라서..버젼을 그냥 올려도 되는지
몰라서. 사용자에게 강제로 범위지정을 하게끔 해서 사용은 하고 있는데..
근본 해결책을 알고 싶습니다.
아래에 Query Servie와 JDBC
아래에 Query Servie와 JDBC Connection을 가지고 Oracle 10g 에서 성능 테스트 수행한
결과를 보면 별반 차이가 없음을 알수 있습니다.
7개의 컬럼을 가진 테이블에 대해 1999개의 row를 검색한 결과이며, 각각 20번씩을
반복 수행되었습니다.
테스트 대상인 Anyframe Core 3.1.0의 Query 서비스에서는 특별한 문제가 발견되지
않았습니다.
테스트를 실행한 Test Case를 첨부하오니 확인하시기 바랍니다.
(* 첨부는 문의 글에 추가되어 있습니다.)
-------------------------- 테스트 결과---------------------------------
log4j:INFO Using URL [file:/D:/devel/eclipse3.4.1/workspace/anyframe.core.query/target/test-classes/log4j.properties] for automatic log4j configuration of repository named [default].
Attempting to drop old table
Create new table
#case : using jdbc connection - size 1999, execution time : 1.031
#case : using jdbc connection - size 1999, execution time : 0.906
#case : using jdbc connection - size 1999, execution time : 0.829
#case : using jdbc connection - size 1999, execution time : 0.906
#case : using jdbc connection - size 1999, execution time : 0.828
#case : using jdbc connection - size 1999, execution time : 0.891
#case : using jdbc connection - size 1999, execution time : 0.828
#case : using jdbc connection - size 1999, execution time : 0.922
#case : using jdbc connection - size 1999, execution time : 0.828
#case : using jdbc connection - size 1999, execution time : 0.875
#case : using jdbc connection - size 1999, execution time : 0.812
#case : using jdbc connection - size 1999, execution time : 0.891
#case : using jdbc connection - size 1999, execution time : 0.828
#case : using jdbc connection - size 1999, execution time : 0.891
#case : using jdbc connection - size 1999, execution time : 0.843
#case : using jdbc connection - size 1999, execution time : 0.875
#case : using jdbc connection - size 1999, execution time : 0.813
#case : using jdbc connection - size 1999, execution time : 0.875
#case : using jdbc connection - size 1999, execution time : 0.828
#case : using jdbc connection - size 1999, execution time : 0.859
Attempting to drop old table
Create new table
#case : using IQueryService connection - size 1999, execution time : 0.953
#case : using IQueryService connection - size 1999, execution time : 0.906
#case : using IQueryService connection - size 1999, execution time : 0.906
#case : using IQueryService connection - size 1999, execution time : 0.86
#case : using IQueryService connection - size 1999, execution time : 0.891
#case : using IQueryService connection - size 1999, execution time : 0.828
#case : using IQueryService connection - size 1999, execution time : 0.891
#case : using IQueryService connection - size 1999, execution time : 0.859
#case : using IQueryService connection - size 1999, execution time : 0.891
#case : using IQueryService connection - size 1999, execution time : 0.859
#case : using IQueryService connection - size 1999, execution time : 0.891
#case : using IQueryService connection - size 1999, execution time : 0.828
#case : using IQueryService connection - size 1999, execution time : 0.891
#case : using IQueryService connection - size 1999, execution time : 0.859
#case : using IQueryService connection - size 1999, execution time : 0.875
#case : using IQueryService connection - size 1999, execution time : 0.859
#case : using IQueryService connection - size 1999, execution time : 0.875
#case : using IQueryService connection - size 1999, execution time : 0.844
#case : using IQueryService connection - size 1999, execution time : 0.891
#case : using IQueryService connection - size 1999, execution time : 0.843