PreparedStatements는 실행중인 내용이 이미 서버 측에 저장되어 있으므로 성능이 향상됩니다 (명령문을 다시 사용한다고 가정 할 때). 새로운 구체적인 값을 바인드하고 명령문을 다시 실행하기 만하면됩니다.
쿼리 작성기는 준비가 필요없는 상태로 실행되도록 문자열 문을 만드는 더 멋진 방법입니다. 첫 번째 옵션이 가장 빠른 성능의 관점, 두 번째와 세 번째에서
은 동일합니다 :
// below prepared statement has already been prepared, we're now just re-using
PreparedStatement ps = session.prepare("SELECT * FROM users WHERE uname=?");
1) session.execute(ps.bind('david');
2) session.execute("SELECT * FROM users WHERE uname=david");
3) session.exectute(QueryBuilder.select()
.all()
.from("users")
.where(QueryBuilder.eq('uname', 'david'))
이 관련이 있지만 쿼리 문자열을 실행 마이그레이션의 좋은 예는 거기 빌드의 경우 너무 확실하지 않음 사전 작성된 준비 문을 this ycsb client에 사용하여 쿼리 빌더에 전달하십시오.
참고로''''QueryBuilder'' 체인에서'''PreparedStatement'' 개체를 생성 할 수 있으므로''''QueryBuilder''에서''PreparedStatement'''로 옮기는 것이 매우 쉽습니다 – Drew