Q&A

  • C/S DB 계발에서 저장할때
안녕하십니까?

제가 MS-SQL DataBase를 이용하여 2티어 프로그램을 작성하고 있는데요...

C/S 프로그램 계발시 네트웍트래픽을 줄이기 보통 Cache Update를 이용하여

한꺼번에 레코드의 변경사항을 DB에 저장을 한다고 하죠..

그런데 만약 한꺼번에 기록할 레코드의 개수가 엄청나게 많을 경우에는(거의다가 삽입일 경우)에는 한꺼번에 기록하다보면 너무많은 시간이 걸려서 중도에 네트웍에

문제가 생기거나 하면 트랙잭션 처리에 의하여 모땅 취소가 되거나 시간이 오래걸려

사용자가 너무 지루해할것 같은데....

차라리 스토어 프로시저를 이용하여 하나하나 기록해주면 위의 두가지 문제점을 보안할수 있을것 같은데...

제가 지금 위에서 언급한 Cache Update방법과 스토어프로시저방법은 저의 주관적인

생각입니다.

제가 궁긍한것은 기록해야 할 레코드의 계수가 일반적인 것보다 무지하게 많을 경우 한꺼번에 기록해야 (Cache Update방법)할 것인가 아니면 레코드 하나하나(스토어프로시저방법)기록하는 것중 최상의 방안을 좀 알려 주시면 고맙겠습니다.



1  COMMENTS
  • Profile
    linuxwiz 2000.09.21 22:06
    권대길 wrote:

    > 안녕하십니까?

    > 제가 MS-SQL DataBase를 이용하여 2티어 프로그램을 작성하고 있는데요...

    > C/S 프로그램 계발시 네트웍트래픽을 줄이기 보통 Cache Update를 이용하여

    > 한꺼번에 레코드의 변경사항을 DB에 저장을 한다고 하죠..

    > 그런데 만약 한꺼번에 기록할 레코드의 개수가 엄청나게 많을 경우에는(거의다가 삽입일 경우)에는 한꺼번에 기록하다보면 너무많은 시간이 걸려서 중도에 네트웍에

    > 문제가 생기거나 하면 트랙잭션 처리에 의하여 모땅 취소가 되거나 시간이 오래걸려

    > 사용자가 너무 지루해할것 같은데....

    > 차라리 스토어 프로시저를 이용하여 하나하나 기록해주면 위의 두가지 문제점을 보안할수 있을것 같은데...

    > 제가 지금 위에서 언급한 Cache Update방법과 스토어프로시저방법은 저의 주관적인

    > 생각입니다.

    > 제가 궁긍한것은 기록해야 할 레코드의 계수가 일반적인 것보다 무지하게 많을 경우 한꺼번에 기록해야 (Cache Update방법)할 것인가 아니면 레코드 하나하나(스토어프로시저방법)기록하는 것중 최상의 방안을 좀 알려 주시면 고맙겠습니다.

    >



    업무에 따라 틀리다고 봅니다..

    C/S에서는 클라이언트의 부하를 줄이려구 서버프로그램 (Stored Procedure나 Trigger)를 쓰거든여...

    서버에 sql이 들어가 있으니까 그만큼 빠르구여..



    트랜잭션은 단위 업무의 시작점과 끝점까지의 데이타의 일관성과 정확성을 위한 부분이구여..

    내부내크웍에서 사용한다면, 그때 그때 insert, update, delete를 사용해도 그리 느리지 않습니다..