Database

多表链接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP          oop

Hash join的工做方式是将一个表(一般是小一点的那个表)作hash运算,将列数据存储到hash列表中,从另外一个表中抽取记录,作hash运算,到hash 列表中找到相应的值,作匹配。        性能

Nested loops工做方式是从一张表中读取数据,访问另外一张表(一般是索引)来作匹配,nested loops适用的场合是当一个关联表比较小的时候,效率会更高。 spa

Merge Join工做方式是先将关联表的关联列各自作排序,而后从各自的排序表中抽取数据,到另外一个排序表中作匹配,由于merge join须要作更多的排序,因此消耗的资源更多。 一般来说,可以使用merge join的地方,hash join均可以发挥更好的性能。 .net

相关文章
相关标签/搜索