수고하십니다.
질문은 다름이 아니고...
현재 Linux 서버에 Interdbase DB를 설치하여 사용하고 있습니다.
이 서버에 클라이언트(LAN 및 전화접속 네트워크이용)로 접속을 하여 자료를
공유하고 저장하고 추가하고 있습니다.
그런데.... 하루 자료가 약 1000개정도 올라오고 있는데...
로딩속도가 너무 느립니다.
랜에서는 그냥 봐줄만 한데... 전화접속 네트워크로 하면.. 프로그램 실행
시킬때의 시간이... 약 7분에서 8분정도......
도저히 작업을 할수 없을 정도 입니다.
GDB는 약 2메가 정도 되는데...(현재) 계속 네트워크에 읽고 쓰고 하는것
같습니다.
원래 인터베이스가 그런건지~~~~~~~~~~~~~?
아니면.. 네트워크 프로그램에선 어쩔수 없는건지~~~~~~?
다른 좋은 방법이 있는지 가르쳐 주시면 고맙겠습니다.
필요하다면........ 메일을 받아도 괜찮습니다.
수고하십시요.......
명준..........
왕창 다끌어 오는 경향이 있는데 이 부분을 제어해 주어야 할 듯 합니다.
특히 테이블 컴포넌트의 경우이런 상황이 발생될 소지가 높습니다.
그리서 반드시 필터와 인덱스를 잘 활용해야만 합니다.
쿼리컴포넌트는 SQL의 where절의 최적화로서 어느 정도 카바를 할 수 있죠
하지만 쿼리컴포넌트 자체도 테이블 컴포넌트와 비교한다면 컴포는트 자체가
효율적이지 못하죠....
음 하여간 위에 저의 대답으로는 답이 안되는거 같은데
다른 한가지 방법으로서 3-Tier환경을 들 수 있습니다.
델파이에는 MIDAS라는 컴포넌트를 제공하고 있는데
이걸 이용하면 정말 가벼운 클라이언트를 생성할 수 있습니다.
이것은 데이터 셋자체가 서버에 있고 클라이언는 그 데이타 셋에
액션을 주기만 하고 데이타를 받아들이므로서 가능한 것입니다.
하지만 서버쪽의 설계가 정말 최적화 되어야 겠지요..
제가 몇가지 방법들을 말씀드렸는데
너무 포괄적인 것이라 자세하게 적지는 못했습니다.
sql의 최적화는 전문 db래퍼런스를 참고 하시고 MIDAS는
저희 델파이팁/강좌에도 약간 언급이 되어 있습니다.
좋은 MIDAS래퍼런스는 아직까지 찾지 못했내요..(국내번역판
자체가 거의 없는듯해요)
심명준 wrote:
> 수고하십니다.
> 질문은 다름이 아니고...
> 현재 Linux 서버에 Interdbase DB를 설치하여 사용하고 있습니다.
> 이 서버에 클라이언트(LAN 및 전화접속 네트워크이용)로 접속을 하여 자료를
> 공유하고 저장하고 추가하고 있습니다.
> 그런데.... 하루 자료가 약 1000개정도 올라오고 있는데...
> 로딩속도가 너무 느립니다.
> 랜에서는 그냥 봐줄만 한데... 전화접속 네트워크로 하면.. 프로그램 실행
> 시킬때의 시간이... 약 7분에서 8분정도......
> 도저히 작업을 할수 없을 정도 입니다.
> GDB는 약 2메가 정도 되는데...(현재) 계속 네트워크에 읽고 쓰고 하는것
> 같습니다.
> 원래 인터베이스가 그런건지~~~~~~~~~~~~~?
> 아니면.. 네트워크 프로그램에선 어쩔수 없는건지~~~~~~?
> 다른 좋은 방법이 있는지 가르쳐 주시면 고맙겠습니다.
> 필요하다면........ 메일을 받아도 괜찮습니다.
> 수고하십시요.......
>
> 명준..........
>