Skip to content

Latest commit

 

History

History
59 lines (37 loc) · 2.39 KB

Cassandra Statement 정리.md

File metadata and controls

59 lines (37 loc) · 2.39 KB

Cassandra Statement 정리

  1. 쿼리 문장 분석
  2. 쿼리 실행
  3. 결과 반환

DB 마다 상세하게 보면 더 복잡하겠지만 요약하면 쿼리가 실행될 때 위의 과정이 진행되며, 카산드라도 마찬가지로 위의 과정을 거치며 실행 됩니다.


SimpleStatement

SELECT * FROM application_params WHERE name = 'greeting_message' and part = 'server';

image

  • 실제 값을 사용하여 바로 실행 가능한 쿼리
  • 쿼리 문장 분석, 쿼리 실행 단계를 매번 실행함
  • 바로 실행 가능한 static 한 쿼리이기 때문에, 캐싱 불가능
    • 매번 분석-실행 단계를 수행하기에, PrepareStatement와 비교하여 성능이 떨어짐
    • 동일한 쿼리를 자주 실행한다면 PrepareStatement를 사용하는 것이 효율적

PrepareStatement

SELECT * FROM application_params WHERE name = '?' and part = '?';
  • 실제 값이 아닌 bind 될 수 있는 값(=?)을 넣어 바로 실행할 수 없는 쿼리
  • 캐시가 되었다면 캐시 조회 -> 쿼리 실행 단계만 거치면 됨
  • 동일 쿼리에서 조건문의 변수값만 변경되어 호출되는 경우에 효율적으로 사용할 수 있음

image

  • 캐시를 사용하지 못하고 PrepareStatement를 사용했을 때

image

  • 캐시를 사용하고 PrepareStatement를 사용했을 때

BatchStatement

BatchStatement를 사용하면 여러 쿼리들을 원자적으로 실행할 수 있도록 할 수 있습니다.


Reference