SSISO Community

시소당

Driving Table을 선정한다.

From구문에  하나  이상의  테이블이  있어서  조인을  하는  경우는  반드시  중심테이블.  즉  Driving테이블이  있어야  한다.  중심테이블을  잘  선택하는  것은  SQL성능에  중대한  영향을  미친다.  다음의  예제에서  중심테이블의  설정에  따라  실행  속도가  얼마나  차이나는  가를  알  수  있다.

예)  Tab1  10,000  rows,  Tab2  1  rows
            Select  count(*)  from  Tab2,  Tab1    26초  
            Select  count(*)  from  Tab1,  Tab2    0.96초

<조인의  경우>
조인의  경우도  중심테이블의  범위에  따라  성능에  차이가  난다.  다음의  예제를  보면  알  수  있다.

Select  count(*)
From  Emp  E,  Dept  D,  Location  L  
Where  D.deptno  =  E.deptno
And  L.locano  =  E.locano
And  E.empno  Between  10000  and  15000;

<개선안>  
Select  count(*)
From  Emp  E,  Dept  D,  Location  L
Where  E.empno  Between  10000  and  15000
        And  D.deptno  =  E.deptno
And  L.locano  =  E.locano

중심테이블의  범위를  줄여주어  즉  전체  대상건수를  먼저  줄이고  그  후에  조인하는  것이  일량을  줄일  수  있는  방법이다.

983 view

4.0 stars