yo`
안녕하세요!!
에거..웬 씨피유점유율이 일케 높지? -_-;;
같은 쿼리를 반복해서 해야 하는 일인데요...보통 한번 하면 500번정도 -_-;;
그런데 속도가 너무 느려서 어떻게 해야 할지 모르겟슴돠 단순 기간별 조회라서
쿼리 튜닝할꺼까지는 없고..
팁란을 뒤적뒤적이다가 보니...스레드를 이용한 복수 쿼리를 동시에 처리하는게
있더군요...스레드(흠..아직 정확한 개념이-_-;;)를 이용해서 복수 쿼리를 한다
고 해도 전체적인 속도가 빨라질까요??
예를 들어 500번을 한다고 하면...걍 하던대로 한번 하고 또 하고 또하고 순차적
인것이랑...아님 스레드로 복수개를 동시에...어떤게 더 빠르고 안전성이 있을까요?
쿼리문은 같지만, 테이블은 다 틀립니다.
사`오백개정도 되는 파라독스 테이블에 평균 10만건정도 데이터가 들어있고요...
각 테이블들이 업데이트되는 시기가 일정치 않아 되도록이면 테이블에 접근할때
쿼리콤포로 접근해야 합니다.
그리고, 클라이언트에서 네트웍드라이브 매핑이 되어있어 이것으로 접근하고요..
여기에서...
1. 기간별로 조회를 해서 다른디렉토리(클라이언트나 서버의)에 파라독스 테이블로
저장한다면...
2. 기간별로 조회를 해서 두개의 필드의 곱을 합계를 낸다면...
걸리는 시간이 어느정도나 될까요??
1번같은경우에는 그냥 하기만 하고 시간계산은 해보지 않았습니다만...
2번같은경우에는 그냥 개별적으로 하나하나의 쿼리실행시간은 얼마 걸리지 않는데...
(보통 2초이내..) 그런데, 100개정도를 할려고 하면 시간이 꽤 걸립니다.
with query1 do begin
close;
databasename:= dir+code;
sql.clear;
sql.add('select sum(f1*f2) as hab from tablename');
execsql;
end;
이렇식으로 되어 있거든요...
많은님들의 조언을 부탁드립니다.
bLue bLood.
차라리 데이타베이스를 좀더 최적화 시켜서 쿼리작업의 횟수를 줄여 보는 것이 더 나을 것입니다.
^-_-^ wrote:
> yo`
>
> 안녕하세요!!
>
> 에거..웬 씨피유점유율이 일케 높지? -_-;;
>
> 같은 쿼리를 반복해서 해야 하는 일인데요...보통 한번 하면 500번정도 -_-;;
> 그런데 속도가 너무 느려서 어떻게 해야 할지 모르겟슴돠 단순 기간별 조회라서
> 쿼리 튜닝할꺼까지는 없고..
>
> 팁란을 뒤적뒤적이다가 보니...스레드를 이용한 복수 쿼리를 동시에 처리하는게
> 있더군요...스레드(흠..아직 정확한 개념이-_-;;)를 이용해서 복수 쿼리를 한다
> 고 해도 전체적인 속도가 빨라질까요??
>
> 예를 들어 500번을 한다고 하면...걍 하던대로 한번 하고 또 하고 또하고 순차적
> 인것이랑...아님 스레드로 복수개를 동시에...어떤게 더 빠르고 안전성이 있을까요?
>
> 쿼리문은 같지만, 테이블은 다 틀립니다.
>
> 사`오백개정도 되는 파라독스 테이블에 평균 10만건정도 데이터가 들어있고요...
> 각 테이블들이 업데이트되는 시기가 일정치 않아 되도록이면 테이블에 접근할때
> 쿼리콤포로 접근해야 합니다.
>
> 그리고, 클라이언트에서 네트웍드라이브 매핑이 되어있어 이것으로 접근하고요..
>
> 여기에서...
>
> 1. 기간별로 조회를 해서 다른디렉토리(클라이언트나 서버의)에 파라독스 테이블로
> 저장한다면...
>
> 2. 기간별로 조회를 해서 두개의 필드의 곱을 합계를 낸다면...
>
> 걸리는 시간이 어느정도나 될까요??
>
> 1번같은경우에는 그냥 하기만 하고 시간계산은 해보지 않았습니다만...
> 2번같은경우에는 그냥 개별적으로 하나하나의 쿼리실행시간은 얼마 걸리지 않는데...
> (보통 2초이내..) 그런데, 100개정도를 할려고 하면 시간이 꽤 걸립니다.
>
> with query1 do begin
> close;
> databasename:= dir+code;
> sql.clear;
> sql.add('select sum(f1*f2) as hab from tablename');
> execsql;
> end;
>
> 이렇식으로 되어 있거든요...
>
> 많은님들의 조언을 부탁드립니다.
>
> bLue bLood.
>