MS SQL을 사용하는데 TQuery Object를 사용하고 있습니다..
BDE에서 Alias를 하나 만들고 TDatabase Object를 만들어 연결한 다음,
여러 개의 TQuery Object를 만들어 하나의 BDE Alias에 연결해 사용합니다..
일단 이 부분에서 알고싶은 것은 이 여러 개의 TQuery Object가 하나의
DB Connection을 공유하는 것인지 별개의 DB Connection을 가지는 것인지
알고 싶습니다..
또한 만일 TQuery Object 별로 별개의 TDatabase Object와 별개의 BDE
Alias를 연결시켜 주는 것이 보다 좋은 성능을 낼 수 있겠는지요?
델파이 5를 사용하고 있구요, ADO 연결에 관해서는 일단 논외로 하면 좋겠습니다..
고수님들의 고견을 기다리겠습니다..
일단
첫째 첫번째질문은 DB Connection을 공유하는 것이 맞습니다.
둘째는 두번째방법을 해도 큰 이득은 보지 못합니다.
오히려 SQL-SERVER의 Client수가 증가되어 유저수와 서버의
점유메모리(Client당 64K)만 증가됩니다.
세째 제가 했던 방법 (Thread 독립)
두번째방법과 같으나 각 TQuery당 Thead독립을 했음
결과는 별로 좋지않음.
네째 제가 했던 방법 (Process 독립)
두번째방법과 같으나 각 TQuery당 실행화일을 따로 만들고 실행
효과는 2배정도 증가 했으나 현실성이 결여
다섯째 문제해결(Insert만 나머지 Select등은 알아서 해결)
먼저 DB SPACE를 자동증가가 아닌 Fixed Space로 해야함
(속도 2~5배증가)
이래도 안되면 트랙잭션이 심한 TABLE을 각각의 DB로 바꾸고
하드웨어적으로 분리해야함 즉 하드디스크를 여러개 사용해서
물리적으로 분리..
그럼 이만
PS : 제가 아는것이 미천해서 이 이상은 잘 모르겠네요.