시소당
Where조건의 구문의 순서가 SQL성능 향상에 영향을 미친다. 위의 예와 비슷하다. 예를들면 연봉이 50,000이상이고, 적어도 부하직원 25인 이상으로부터 보고를 받는 관리자의 이름을 알고 싶다.
Select E.ename /* 15초 */
From emp E
Where E.sal > 50000
And E.emp_type = ‘MANAGER’
And 25 < (Select count(*) from emp where emp_mgr = E.empno);
<개선안>
Where구문의 처음에 처리할 대상범위를 줄여 성능을 향상시켰다.
Select E.ename /* 1초 */
From emp E
Where And 25 < (Select count(*) from emp where emp_mgr = E.empno);
And E.sal > 50000
And E.emp_type = ‘MANAGER’