TSQL--SORT MERGE JOIN

算法:对两表排序,然后对两表依次扫描,找到符合条件的结果集

sort(T1);

seort(T2);

 

int k=0;--for T1 index

int m=0;--for T2 index

while(true)

{

if(T1[k] match T2[m])

{

output (T1[k],T2[m]);

m++;

}

if(T1[k] less than T2[m])

{

k++

}

 

if(T1[k] great than T2[m])

{

m++

}

if(k==T1.counts || m==T2.counts)

{

break;

}

}

 

算法复杂度:outerTable.rowsCount+innerTable.rowsCount

要求:

1.两表已按照连接字段排序或排序成本较低

你可能感兴趣的:(merge)