안녕하십니까....
본론을 말씀드리겠습니다.
조회하려는 레코드의 사이즈는 1030Byte정도 됩니다.
그리고 레코드수는 35,000개 정도 되고요, 그리고 그테이블은 Primary키를
가지고 있습니다, Primarykey Field 사이즈는 Char(12)이고요.
일단 BDE에서 Select할때는 시간이 걸리지 않습니다.
디스플레이에 필요한만큼 search되면 바로 화면에 나오니까 채감시간은
짧습니다. 그리고 동시에 실행되는 2개이상의 Query문장을 실행하지 않았으니까요.
그런데 delphi에서 프로그래밍 할때 필요한 데이타를 불러오고, 그것에 해당하는
갯수를 불러오는데 문제가 있다는 거죠. 물론 2개의 query 컴퍼넌트를 사용해
한개는 select용, 하나는 Count용입니다.
그런데 갑자기 이두개의 query문장을 실행시키면, 동작이 느려 지는 현상이지요.
1) SELECT * FROM ORDERS
WHERE SALECUST = '대전거래처' AND IMPADMIN ='199910110001'
2) SELECT COUNT(*) FROM ORDERS
WHERE SALECUST = '대전거래처' AND IMPADMIN ='199910110001'
1) 나타나는 레코드수 20개정도 연결된 DBCONTROL수 40개 정도 (좀 많져)
SALECUST: 검색할 거래처 코드 ( secondary key로 잡혀있지 않음) (중복이 심함 100개당 1이상)
IMPADMIN: 번호 코드 ( secondary key로 잡혀있지 않음) (중복이 심함 1000개당 1이상)
속도 3-8초
2) 속도 40초 (?)
2)가 좀 이상합니다. 일단 1이 Open되어 있는 상태에서 2가 실행되어서 느려지는건지...
그리고 위 테이블이 Open되어있는 상태에서 Post되는 속도도 5초이상걸립니다.
느린 검색속도와 저장(pOST) 속도 에대해 답변 부탁합니다...
저장은 (UPDATESQL 컴퍼넌트와 직접 SQL문장(INSERT)을 실행 했습니다.
데이터베이스는 MSSQL6.5에 DELPHI 3.0을 사용하며 위테스트는 10M LAN환경입니다.
클라이언트는 4대 사용중입니다, 서버는 클라이언트와 같이 PII 350 에 64M RAM
환경입니다.
질문이 복잡하면서(?) 내용이 부실해 보이는것 같군요. 시간이 없어서리......
혹시 조금이라도 아시는 분은 메일이나 답변을..... 부탁드립니다 꼭! 이요
읽어 주셔서 감사합니다...
|