나는 Spring HibernateTemplate을 사용하고 매초 수백 개의 레코드를 mysql 데이터베이스에 삽입해야한다.HibernateTemplate을 사용한 다중 값 Mysql 삽입물
가장 성능이 좋은 방법은 무엇인지 모르겠지만 다중 값 mysql 삽입이 최대 절전 모드를 사용하는 방법을 확인하려고합니다.
String query = "insert into user(age, name, birth_date) values(24, 'Joe', '2010-05-19 14:33:14'), (25, 'Joe1', '2010-05-19 14:33:14')"
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {
return session.createSQLQuery(query).executeUpdate();
}
});
는하지만이 오류 얻을 : '. 네이티브 대량 조작 쿼리를 실행할 수 없습니다' 을 질의를 확인하십시오 .....
최대 절전 모드를 사용하여 다중 값 mysql 삽입을 사용할 수 있다는 아이디어는 있습니까? 또는 내 쿼리가 올바르지 않습니까?
다른 어떤 방법으로 성능을 향상시킬 수 있습니까? saveOrUpdateAll() 메서드를 시도했지만 충분하지 않았습니다! 최대 절전 모드의 문서에서 section 14.1에서
해결 방법을 찾으셨습니까? –
저는 실제 코드가 그렇게하지 않지만 준비된 문장을 사용한다고 확신합니다. 그렇지 않으면 쿼리 캐시를 물 밖으로 날려 버릴 것입니다 ... 그리고 여러분은 SQL 인젝션을 마음껏 열어두고 있습니다. 작은 바비 테이블. (http://xkcd.com/327/) – time4tea
+1 바비 테이블 참조 –