Q&A

  • 데이타베이스론에 도사님께
예> 거래처가 만개가 되는데 이걸 클라이언트에서 사용자가 아주쉽게 찾고
      입력수정삭제를 용이하게 하고 싶어요.
      하나하나를 불러오거나 수정 삭제는 쉽다고 생각되나...
      여러개를 보여준상태에서 하고싶습니다.
      그렇다고 만개를 다 불러와서 쌓아놓는다는거 비 효율적이라고 생각되고요
      결국엔 필터링('(주)'로시작하는것)을 하는 수밖에 없는것인지...
      원격지에 있는걸... 파라독스파일처럼 직접연결한것처럼 사용할순 없는지
      도사님들의 조언 부탁합니다.
3  COMMENTS
  • Profile
    하얀까마귀 2002.01.23 20:23
    안녕하세요 하얀까마귀 입니다.

    만건이면 많은데이타라고 볼수 없는데요..

    소형 데이타에 속한다고 보시는게.....

    문제가 무엇인지 잘 모르겠어요...

    자료를 불러와서 (당연히 조건검색결과겠죠) 자료수정하고 추가하면 되잖아요. 음. 아마두 sql 이니까 그걸 다시 불러와야 된다는것 때문에 그러하신거라면 .전 별로 안좋아하지만  updateSQL을 사용해 보시던지요..

    당연히 전체를 다불러와서 어떤작업을 한다는건 그것 자체가 데이타베이스 개념에서 벗어나는겁니다.

    그렇게 할려면 차라리 데이타베이스가 아니라 파일시스템이나 그냥 로컬데이타베이스 파일을 전송받는게 더 나을듯 생각되네요.. ^^

    좀더 상세히 설명해주시면 답변이가능할것 같네요..

    그럼 즐거운시간 되세요.

    - 하얀까마귀 -


  • Profile
    이추형 2002.01.23 20:39
    간략하게 제생각만 말씀드리겠습니다.

    만건이라도 Column에 따라 다르겠지요
    (무슨 야그냐 하면 컬럼의 사이즈가 어마어마 크다면....)

    위의 문제해결 방법은 두가지 입니다.
    임의의 데이타까지만 가져오는 방법 (rownum가 있겠지요)
    또는 데이타를 클라이언트 로컬디비에 저장해두고
    작업이 일어났을때에만 서버에 작업하도록 하는 방법
    (당근히 초기화시에는 어느정도 작업시간이 걸리겠지만)

    근데 이렇게 하는것들이 해결책은 아니라고 생각합니다.
    요즘은 장비들이 매우 좋아져서요
    서버에 돈만 잘 바른다면 오히려 tuning하는것 보다
    더 좋은 세상이니까요 ( 제가 돈없는 가난한 개발자라서... )
  • Profile
    하얀까마귀 2002.01.24 01:03
    안녕하세요 하얀까마귀 입니다.

    그렇겠네요.. 컬럼중에 님의 말씀처럼 어마어마한  컬럼이 있다면 문제가

    되겠군요.. 그생각은 못했네요.. ㅠㅠ

    전그냥 파라독스 이야기 하시길래.. 테이블처럼 그렇게 쓰시는것만 생각을해서

    조금만 보충을 하자면..

    우선 데이타베이스의 속도문제는 늘 따라다니는거고. 공부하면 할수록 튜닝이라는게 어렵게 느껴지더라구요..

    튜닝에 대한 정답은 없어보이고.. 프로젝트에 따라서 프로젝트에 맞는 튜닝을 해주어야 하고 또 설계변경또한 용의하게 해야 겠죠..

    컬럼중에 큰 컬럼이 있다거나 아니면 전체 컬럼이 필요없는 경우가 대부분일

    테니까 해당컬럼은 불러오지 않게 수정하고 각 데이타의 상세내용을 불러올때 해당 레코드만 따로 한번더 불러쓰는게 속도 부분에서 조금더 이득을 볼수 있습니다. C/S에선 특히 더 그렇겠죠....

    '결국엔 필터링('(주)'로시작하는것)을 하는 수밖에 없는것인지... '

    이건 무슨말씀이신지 잘 모르겠는데.. 아마 조건검색한다는 말처럼 들리네요.

    이건 당연한겁니다. 데이타베이스를 한다면 전체 테이블에 대한 풀탐색은

    불가피한 경우에만 사용되어지도록 해야 합니다. 아니면 몇건 안되는 테이블이거나... 님처럼 그렇게 많지 않는 데이타의 경우에는 무리는 없겠지만 엄청난 데이타라면 그 결과가 몇시간이 거릴지 혹은 몇일이 걸릴지 예상할수 없으니까요..

    그리고 sql 을 만들어 줄때도 인덱스에 대해서 아주 많은 신경을 쓰시는게

    좋고.. where 구문을 사용하실때도 인덱스의 사용에 대해서 고려해서 만드셔야 합니다. 이런거 이야기할려면 정말 한도 끝도 없어요..
    기본적으로 from 절의 테이블 순서. where 절에서의 조건을 넣어줄때라던지
    조인할때도 마찬가지고요..

    처음 설계 하실때부터 인덱스에 대한 고려 속도에 대한 고려가 되어있어야 합니다. 잘못된 설계로 인해 수많은 테이블에 대한 조인을 걸어야 하는경우가 생기니까요...

    설계가 그리 나쁘지 않다면 인덱스 설계와 데이타베이스 튜닝과 SQL 튜닝만으로 몇분이 소요되는 작업을 1초미만까지 줄일수 있는게 데이타베이스입니다.
    제경험을 말씀드리면 그때는 일반 PC에서  Sybase를 사용했었는데.
    두개의 테이블이 하나는 수십만건 하나는 이백만건 정도 되는거였죠.
    두객가 마스터 디테일구조였는데.. 데이타베이스에 대한 경험이 없을때였으니 프로그램 다만들고 문제를 발견했죠. 그때는 그냥 테스트 데이타 만들어도 수백건 수천건 정도였으니.. 그런걸 알리가 있었겠습니까.
    마스터에서 1건에 대한 디테일을 불러오는데. 보통 몇건정도밖에 안되는거였죠. 몇백만건에서 단 몇개의 레코드를 불러오는테 탐색시간이 몇분이 소요되었어요.. 인덱스가 있는데도 말이죠.. ( 물론 잘못된 인덱스 엿지만 )
    몇일을 고생해서(거의 일주일을..)책이란 책은 다뒤지고 공부하고 해서 다시 만들었죠.. 제대로된 인덱스를 만들고 SQL문을 수정하니 결과는 1초미만이더군요.. 그때가 다만들고 납품할때였거든요. 모두들 대만족이였죠. 그때 기억은 아직도 못잊겠네요. 디비할때의 가장큰 기쁨같네요..

    별도움 안되는 거 이야기한것 같은데. 음... 되도록 적은 데이타만을 불러오도록 하고 인덱스에 대해 신경을 많이 써주신다면 만건정도의 데이타가 아니라 수십만건 정도는 가볍게 다루실수 있을겁니다.
    단지 데이타를 불러다가 로컬에 쌓는다는건 솔직히 좀 그렇네요..
    신경도 많이 쓰이고 에러가 생길 여지도 많고.. 제 주관이지만
    UpdateSQL도 잘 안쓸려고 했던 저이니..

    그럼... 즐거운시간 되세요.

    - 하얀까마귀 -

    • 하얀까마귀
      2002.01.24 03:41
      정적배열로 하지 마시구요.. 그냥 동적으로 하시면 안되나?? 아니면 만들어져 있는 TList 를 사용하셔도...
    • 김보현
    • 2002.01.24 01:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • GanJang
    • 2002.01.24 01:06
    • 3 COMMENTS
    • /
    • 0 LIKES
    • GanJang
      2002.01.24 01:21
      이렇게 하니깐 되기는 되는데... procedure TRegistrationFrm.Button1Click(Sender: TObject); var &...
    • 하얀까마귀
      2002.01.24 01:52
      안녕하세요 하얀까마귀 입니다. 무슨 말인지 잘모르겠어요... 뭐가 문제라고 하시는건지 그리고 뭘할려...
    • GanJang
      2002.01.24 02:00
      흐흐흐 .. 쓰면서 저도 헤깔렸답니다.. -_-;; 제가 착각했군요.. 100 만 딸랑 드러가는 이유를.. ...
    • 이창영
      2002.01.24 01:38
      안녕하십니까.... 똑같은 의문을 품으신 분들이 꽤 되는것 같네요... 저도 저번주 리포트 하나 만들다...
    • 델파이탐크루즈
      2002.01.24 02:07
      [질문] 출력이 되었다가 않되었다가 하거든여...??? 분명히 어제는 되었는데... 오늘은 않되여... 그리...
    • 김경우
    • 2002.01.24 00:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김형근
      2002.01.24 19:38
      안녕하십니깐 Helperzero김형근입니다.. 그건 간단합니다. 델파이5.0에서 퀵리포트3.5를쓰면 해결됩니...
    • 김규억
      2002.01.24 18:04
      저두 퀵레포트를 이용해서 XP에서 테스트를 무사히 마쳤는데요... 이상없이 잘 돌아가거든요... ...
    • 오진욱
    • 2002.01.24 00:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오진욱
      2002.01.24 02:12
      -_-;; 역쉬 ConnectionString 틀린거였군요. 게시판 검색해서 나온거 이것저것 다 넣어봤다고 생각했었는...
    • 박성훈
    • 2002.01.23 23:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 성낙균
      2002.01.23 23:51
      저역시 조금해보았는데 위의 에러는  client에서 application server프로그램 이  실...
    • 김형우
    • 2002.01.23 22:59
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.01.24 01:30
      안녕하세요 하얀까마귀 입니다. 프로퍼티를 만드는거 아니시죠? 프로그램에서 전체 색상 수정하시는 거...
    • 이승근
    • 2002.01.23 22:34
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.01.24 01:10
      안녕하세요 하얀까마귀 입니다. 거래처가 천여개이고 전표테이블이 15만개 정도라면 SQL 문으로 해...
    • 이승근
      2002.01.24 04:53
      워낙에 초보라서여... 사용하는 형식만 잠깐 sample로 보여주시면 안될까여???^^
    • 하얀까마귀
      2002.01.25 10:44
      안녕하세요 하얀까마귀 입니다. group by 는 해당 그룹으로 특정 연산을 할때 사용합니다. 예를들어...
    • 이승근
    • 2002.01.23 22:27
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.01.23 22:38
      안녕하세요... 첫번째 디테일 밴드에다가 QRSysData의 Data를 qrsDetailCount 해보세요 그러면 되여...
    • 이승근
      2002.01.24 04:49
      설정하는 것을 모르는것이 아니라... 그렇게 해서 page설정이 나오면 a4, b4등등은 있는데 80col, 136co...
    • 장진호
    • 2002.01.23 20:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.01.23 21:09
      Delphi에는 FindComponent라는 놈이 있습니다.. 말그대로 콤퍼넌트를 찾아 주는 놈이죠... 아주 유용...
    • 천왕봉
      2002.01.23 21:24
      캬~~~ 캄샤함더 요렀게 간단한 방법이 있는데 그동안 노가다를 했네요 감샤합니더
    • 오세종
    • 2002.01.23 20:21
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김형근
    • 2002.01.23 19:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.01.23 20:23
      안녕하세요 하얀까마귀 입니다. 만건이면 많은데이타라고 볼수 없는데요.. 소형 데이타에 속한다고 ...
    • 이추형
      2002.01.23 20:39
      간략하게 제생각만 말씀드리겠습니다. 만건이라도 Column에 따라 다르겠지요 (무슨 야그냐 하면 컬럼의...
    • 하얀까마귀
      2002.01.24 01:03
      안녕하세요 하얀까마귀 입니다. 그렇겠네요.. 컬럼중에 님의 말씀처럼 어마어마한  컬럼이 있...
    • 이상협
    • 2002.01.23 19:54
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 선해석
    • 2002.01.23 19:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이광수
      2002.01.23 21:25
      ftp는 command port로 21번 data port로 20번을 사용합니다. 파일 전송명령을 21번 포트로 내리면 사용자...
    • 델을배우고파
      2002.01.23 20:59
      400db의 연결을 먼저 false를 시킨후 call하기전에 다시 ture를 시키면 되지 않을까요.....  ...
    • 델파이탐크루즈
      2002.01.23 21:14
      당근이져... 콜하기전에 먼저 False하고 True 하져... 혹시 해보셨나여..? 해보셨으면 지송하지만 C...
    • 버섯
      2002.01.23 22:23
      제가 알기론.. AS/400 에서 메세지 걸리면.. 메세지를 풀어야.. 다음으로 진행됩니다.. 메세지를 안걸리...
    • 델파이탐크루즈
      2002.01.23 23:02
      네... 우선 답변하신 분들께 주님의 은총이 충만하시길 바라오며 좀더 다른 방법을 모색해본후 나오면 ...
    • 오서영
    • 2002.01.23 19:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김용택
      2002.02.11 02:22
      TCP/IP 를 사용하시면      ::10.31.58.45:c:dbtest.gdb    &nb...