복잡한 Query vs 여러 개의 Query


쿼리를 설계할 경우에는 복잡한 쿼리 하나가 좋을지 혹은 간단한 쿼리 여러 개가 좋을 지 심각하게 고민 해봐야 한다. 전통적으로는 데이터베이스를 설계할 때 소수의 쿼리로 가능한 많은 일을 하도록 해왔다. 이런 방식은 네트워크 통신 비용과 쿼리 파싱 및 최적화 단계의 오버헤드 때문에 역사적으로 더 좋은 결과를 보여왔다.


지금은 다르다. 최신 네트워크는 예전에 비해 굉장히 빨라졌고, 네트워크 지연도 줄어들었다. 가능한 적은 쿼리를 사용하는 편이 좋으나, 여러개의 쿼리를 이용하는것이 오히려 더 효율적일 때도 있다. 


실제로 어플리케이션 중 한번에 쿼리를 사용 하는게 아니라 여러 행의 컬럼을 각각 따로 불러오기 위해 여러 번에 걸쳐 쿼리를 수행하기도 한다.


여러 개의 쿼리로 분해 하기 위해서는 쿼리 자르기, 조인 분해 이런 기법 들이 있다.


※ 참고 서적: [Mysql 성능 최적화 - 베론 슈와츠, 피터 제이트세브, 바딤 카첸코, 제레미 자워드니, 아르엔 렌츠, 데렉 볼링 지음][04장 쿼리 성능 최적화]


+ Recent posts