|
안녕하세요?
빌더 5.0으로 DB관련 프로그래밍을 하고 있습니다.
ODBC및 DM을 사용하고 있고, 모든 Query들의 Active는 디폴트로 false입니다.
프로그래밍중에 디버깅모드로 자주 실행하는데 한 10여번 디버깅하고 나면 메모리부족으로 더이상 실행할수 없다고 합니다.
이럴때는 빌더를 종료했다가 다시 실행해야 정상적으로 돌아오구요.
디비에 레코드개수는 약 26만개 정도지만 한번에 Open되는 Query는 2-3개정도구요. 한번에 불려오는 레코드는 최고 3-4개입니다.
DB는 MySql이구요. 종료시 Query를 Close하지 않아서 그런가 해서 Form Close()시 모든 Query들을 Close해봐도 마찮가지더군요.
또한 Cmd 모드에서 Netstat -an으로 물려있는 소켓을 보면 Query개수와 거의 일치합니다. 물론 TIME_OUT걸려있는것도 몇개 보이지만 누적되는건 아니더군요.
실제로 다른 Form을 열기위해 메모리 할당된것은 디버깅모드를 종료하면 반환되는것으로 알고 있구요. 또한 그거 믿고 new로 할당한 메모리를 그냥 놔두는건 아니고 일일이 delete해 주고 있습니다.
win 2K pro이구요.
P-III 700에 메모리 512K입니다.
이전 Project에선 DB는 사용하지 않았지만 Socket을 사용한 multi Ansi 터미널로서 덩치는 지금것보다 10배는 더 컷지만 메모리 부족으로 빌더를 종료한적은 한번도 없었거든요.
|