2011-04-23 2 views
0

RDBMS에 데이터를 삽입하기위한 Java 애플리케이션에 메소드가있는 경우, 데이터베이스로 쿼리를 전달한 후 메소드가 앞으로 이동합니다. 즉, RDBMS가 쿼리를 처리하기 전에 java 애플리케이션이 메소드 (connect, run query, close connection)를 끝낼 것입니다. 몇 가지 테스트를 실행하고 싶지만 애플리케이션이 RDBMS 이전에 완료 될지 확실하지 않아 결과적으로 데이터베이스가 얼마나 빨리 데이터를 처리했는지에 대한 통찰력이 거의 없습니다.Java RDBMS 성능

RDBMS가 따라 잡기를 기다려야한다는 것을 확인하기 위해 drop table close connection으로 각 테스트를 마칠 수있을 것 같습니다.

다른 IDE 시스템을 통해 RDBMS를 테스트하기 위해 Eclipse IDE를 사용하면 실행중인 OPS의 성능에 크게 영향을 미칩니다. (Windows7 Solaris Ubuntu)

답변을 시도하는 사람에게 감사드립니다.

답변

2

IDE를 사용하면 성능에 영향을 미치지 않습니다. 단지 시작된 일반 JVM 일뿐입니다.

또 다른 질문은 - 비동기 드라이버를 사용하고 있지 않거나 (그러한 것이 있는지 모르겠다) 각 작업에 대한 새 스레드를 시작하지 않는 한 동기식입니다. 즉 프로그램이 결과를 반환하기 위해 데이터베이스를 기다립니다 (또는 구성 가능한 시간 초과)

+0

감사합니다. 프로세스를 완료하는 데 걸리는 시간은 RDBMS가 쿼리를 처리하는 데 걸리는 시간을 반영합니다. 다시 한 번 감사드립니다! –

+0

예. 따라서 여러 스레드를 실행하여 실행을 병렬화 할 수는 있지만 그 일은 까다로울 수 있습니다. – Bozho

+0

데이터베이스가 별도의 컴퓨터에서 실행되는 경우 - 특히 컴퓨터가 정말로 원격 인 경우 - 네트워크 대기 시간을 고려해야합니다. – Marvo

1

일반적으로 이러한 모든 호출은 동기식입니다. 작업이 완료 될 때까지 차단됩니다. 뭔가 다른 일을하지 않는 한.

연결 풀링을 살펴보고 연결을 재사용하여 생성/삭제 비용이 많이 쌓이지 않도록 할 수 있습니다.