파라독스로 많은 양의 자료를 처리하려는것에는 무리가 많이 따릅니다.
더구나 파라독스를 쿼리컴포넌트로 사용하면 속도는 상당히 떨어집니다.
SQL서버같은 것은 데이타 양의 많고 적음에 별로 영향을 받지 않고 일정한 속도를 보이는데 파라독스나 엑쎄스같은 디비들은 자료의 양에 따라 속도차이가 현저하게 달라집니다. 한 30만건정도면 거의 처리하는데 상당히 지장을 받을 수 있습니다.
파라독스에서 수치적으로 꼭 말하라고 하면 그 수치가 너무 커서
말을 못하겠구요.. 아무튼 거의 무한데의 숫자라고 생각 하면 됩니다.
[질문]
1. 30만건 자료가 있는데 그것을 한두개씩 넣을려고 하는지...??
2. 계속해서 자료를 넣는 중에 약 30만건 정도에서 들어 가지 않은지 ....??
[답]
1번..
델파이는 TTable이나 TQuery를 열었을때 자료를 메모리에 저장 합니
다. 메모리에 저장 된 이후에는 조회는 빠르죠.. 그런데 저장이나 삭제는
좀 다르죠.. 저장후 데이타를 다시 갱신 합니다. 그러니까 다시 메모리에
불러 오죠.. 그리고 DBGrid에서 스크롤 할때도 마찬가지입니다.
스크롤 될때마다 자료를 읽어서 현재 자료와 비교 합니다...
그러니 느리죠.. 그래서 조회를 할때는 Query문으로 Where 절을
이용 하십시요..
2번
저도 이런 경우가 있었는데 원인은 정확히 모르겠습니다..
저보다 더 고수님이 있으면 부탁...
저경우는 이렇게 했습니다.
For 문을 이용해서 50,000정도 저장하면 테이블을 닫고
다시 열어서 50,001번부터 다시 저장 하였습니다..
물론 컴퓨터의 성능과 버퍼에 따라 더 많이 줄 수도 있습니다.
그리고 Cached updates와 ApplyUpDates를 이용 해 보십시오.
이것은 저도 안해봤는데... 위의것이 안되면 한번 해 보십시오.
인덱스 설정 필드에 Sum, Max 이런 함수를 쓰면 인덱스를 사용안합니다.
그리고 Where 의 검색 필드는 많은것 부터 나열하세요
그럼 즐코하세요