MDB를 동적으로 생성하여 ADOConnection을 이용해 연결하였습니다. 그리고 데이터는 ADOCommand를 이용해 쿼리문을 실행하는데요 1분에 약3,700여건 정도가 입력 되더군요.
되부분의 분들이 10초당 1000여건 이상의 데이터를 입력하신다고 하시는것 같은데 뭐가 잘못 된건지요... 다음은 설정 사항및 데이터 입력 부분입니다.
ADOConn->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\DB\\Test\\Test.mdb;Persist Security Info=False";
ADOConn->CursorLocation = clUseServer;
//테이블 생성
"CREATE TABLE TestTable(Test1 TEXT(20) NOT NULL,"
+ "Test2 TEXT(20) NOT NULL,"
+ "Test3 TEXT(20) NOT NULL,"
+ "Test4 TEXT(20) NOT NULL,"
+ "Test5 TEXT(20) NOT NULL,"
+ "Test6 INTEGER NOT NULL)";
//데이터 입력
"INSERT INTO TestTable VALUES('ajdflj', 'asdldj', 'asdkj', 'asdlkjf', 'asldj', 1)";
쿼리문 실행시 ADOConnection의 트랜잭션 처리를 사용합니다.
위의 데이터 입력 부분이 루프를 돌며 약 2만 건 정도의 데이터를 입력 하려고 하는데 (위는 테스트를 위해 일정값-쓰레기값-을 계속 입력 합니다.) 약 1분 후 프로세스를 멈추고 MDB파일을 확인해보면 3,700여건 정도만 입력 되어 있습니다.(오버헤드를 줄이려고 Index 설정하지 않은 상태로 입력하였습니다.)
데이터 입력 및 데이터 억세스에 관한 시간을 단축 시킬 수 있는 방법이 있으시면 사정없이 리플 달아 주십시요.. 많은 분들이 이 문제로 많이들 고민 하시는거 같던데.. 저는 문제가 좀 심각한거 같습니다. ㅡㅡ;; (참고로 CPU 펜41.6 사용하고 있구요.. 소스를 보시면 아시겠지만 BCB6.0입니다.)
또한 초당 60건이상 INSERT 되는것으로 봐서는 코딩상으로
더이상 빠르게 할수는 없을듯합니다.(이것도 꽤 빠른것심)
마지막으로 Paradox 를 사용해 보셈..좀더 빨라질듯합니다.