JDBC로 일괄 INSERTS 최적화
INSERT 쿼리를 실행하기 위해 일반 JDBC를 사용하는 Java 애플리케이션은 네트워크 지연으로 인해 성능 문제에 직면하는 경우가 많습니다. 지연 시간을 줄이기 위해 일괄 처리가 활성화되어 있는 동안 쿼리는 여전히 별도의 INSERT로 순차적으로 실행됩니다. 이 기사에서는 이 문제를 해결하기 위한 효율적인 일괄 INSERT 기술을 살펴봅니다.
INSERT 축소
다음 시나리오를 고려하십시오.
insert into some_table (col1, col2) values (val1, val2) insert into some_table (col1, col2) values (val3, val4) insert into some_table (col1, col2) values (val5, val6)
한 가지 최적화 접근 방식은 다음과 같습니다. 여러 INSERT를 단일로 축소하려면 쿼리:
insert into some_table (col1, col2) values (val1, val2), (val3, val4), (val5, val6)
INSERT를 결합하면 필요한 네트워크 왕복 횟수가 줄어들어 성능이 향상됩니다.
PreparedStatements 사용
또 다른 핵심 기술은 PreparedStatements를 활용하여 쿼리 계획을 캐시하는 것입니다. 다음 코드는 일괄 INSERT 작업에서의 사용을 보여줍니다.
PreparedStatement ps = c.prepareStatement("INSERT INTO employees VALUES (?, ?)"); ps.setString(1, "John"); ps.setString(2, "Doe"); ps.addBatch(); ps.clearParameters(); ps.setString(1, "Dave"); ps.setString(2, "Smith"); ps.addBatch(); ps.clearParameters(); int[] results = ps.executeBatch();
추가 팁
위 내용은 성능 향상을 위해 JDBC에서 Batch INSERT 작업을 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!