2013-08-05 3 views
0

JDBC를 통해 MySQL에 연결. 나는 1 개의 테이블에서 1 백만 레코드의 데이터를 얻고 다른 테이블에 삽입하는 것과 같은 scenerio를 가지고있다. 그래서,이 경우에는 초당 얼마나 많은 레코드가 삽입되는지 확인하고 싶습니다.1 초에 얼마나 많은 레코드가 삽입 되었습니까?

+0

이 프로 시저에서 수행 중이거나 결과를 테이블에서 가져 와서 결과 세트로 삽입 하시겠습니까? 이 많은 정보를 가지고, – Jatin

+0

'INSERT ... SELECT ... '가 충분히 빨리 진행되도록 도와주는 것이 불가능할 것입니다. EXPLAIN을 사용하여 해당 부분을 최적화하려면 select를 수행하십시오. JDBC 생성 키를 사용하면 삽입 된 레코드에 액세스 할 수 있습니다. –

+0

나는 어떤 기술 절차도 수행하지 않는다. 데이터가 다른 DB에서옵니다. 그래서 나는 Resultset 가져와 배치 업데이트와 함께 삽입. – Anji

답변

0

속도를 테스트하는 것만으로도 레코드를 복사하고 레코드 수를 초로 나누십시오.

시간이 중요시되고 한 테이블에서 다른 테이블로 레코드를 복사해야하는 경우 SQL (INSERT ... SELECT)로 바꾸지 않으시겠습니까? (http://dev.mysql.com/doc/refman/5.0/en/insert-select.html)

0

JDBC를 사용하는 경우 초당 삽입 된 레코드 수를 찾는데 아무런 문제가 없습니다. 계속해서 레코드를 삽입하고 시간이 1 초인 경우 시간의 차이를 계산하여 레코드 수를 인쇄하십시오. System.currentTimeMillis() 대신 System.nanoTime()을 사용하십시오. 문제가 있으면 알려주세요. 샘플을 몇 개 제공해 드리겠습니다.

그리고 실제로 레코드를 삽입하려는 경우 SELECT ... INTO OUTFILELOAD DATA INFILE을 사용하십시오. 정말 빨라질 것입니다.

관련 문제