当前位置: 代码迷 >> Sql Server >> 一个惯用,但是网上找不到结果的应用实例,求大神
  详细解决方案

一个惯用,但是网上找不到结果的应用实例,求大神

热度:65   发布时间:2016-04-24 18:43:09.0
一个常用,但是网上找不到结果的应用实例,求大神
加入我有个班级信息表、学生信息表

班级信息里有正班长和副班长两个字段,都对应学生信息表里的学生主键

查询班级信息的时候要看到班级信息,班长名字和副班长名字

我该如何设计表和视图

我现在的思路是直接左连两个学生表,但是速度太慢,求更好的解决方法
------解决方案--------------------
引用:
yupeigu

用了您的方法果然快很多,目前变为1秒。求解释什么地方用 hash join呢


这个hash 只是,在关联表的时候,采用hash算法,而一般的关联都是采用nested loop,可以简单理解为双层循环,比如:

你有2个表关联,一个是1w条,一个是2w条,那么外层循环1w次,内层循环2w次,也就是总共几十亿次,所以到孩子慢。

而采用了hash,虽然会多用一些内存,但是只需要1-2w次的循环,就能完成join的操作,所以速度大幅提升
  相关解决方案