
SQL 레벨업 02
·
Review
UNION은 대부분의 상황에서 비효율적인 쿼리일 가능성이 높다. CASE로 분기하자. - 외부적으로는 하나의 SQL 구문을 실행하는 것처럼 보이지만 - 내부적으로는 여러 개의 select 구문을 실행하는 실행 계획으로 해석된다. - 즉 테이블에 접근하는 횟수가 많아져 I/O 비용이 늘어난다. - (SQL UNION SQL) 이렇게 있으면 SQL 각각 select 연산을 수행한다. - select 구문으로 분기하지 않고 CASE 구문으로 분기하는 접근만으로도 SQL 효율을 올릴 수 있다. 결합 알고리즘 - JOIN 연산을 수행할 때 옵티마이저가 선택하는 알고리즘 - Nested Loops - Hash - Sort Merge의 크게 3가지가 있다. - 참고로 MySQL은 Nested Loops만을 공식적으로..