在select语句里面要把两张表连接起来,一张表数据量庞大,一张表数据量很小,那把哪个表放在前面?

superpenyn 2011-09-20 08:06:36
在select语句里面要把两张表连接起来,一张表数据量庞大,一张表数据量很小,那把哪个表放在前面?

今天去面试的时候做得一道题。
...全文
1130 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
大雷神 2011-09-26
  • 打赏
  • 举报
回复
原来还有这么多讲究啊 学习了
春风剑客 2011-09-26
  • 打赏
  • 举报
回复
小表带大表,所有小表放前面,早期优化的一个问题。
勿勿 2011-09-21
  • 打赏
  • 举报
回复
根据你自己的要求具体用了。劝LZ把子查询弄清楚。。
净灵 2011-09-21
  • 打赏
  • 举报
回复
数据结构中有讲到各种排序的优劣性,这个可能跟数据结构的排序有点类似,初看如果在连接的时候是按数量小的表结构匹配好了就好了,那就是小的在前效率高,或是在后效率高了,另外还有一种字段特别多的,所以有些行匹配,列匹配可能结果是不一样的,另外也有些为了安全可能会让效率慢些,把数量大的与数量小的全部匹配完了才结束,所以有时候实践经验丰富的,可以从自己的实际工作中的一些问题一起讨论。
geniuswjt 2011-09-20
  • 打赏
  • 举报
回复
+1[Quote=引用 4 楼 yubofighting 的回复:]
连接一步执行的是两个表的笛卡尔积,
接着是on进行筛选
接着是join类型进行外部行的添加

前两部所有join都一样,第三步有差异
所以如果是inner join,无所谓
left join 把大表放在后边
right join把大表放在前面
[/Quote]
chuanzhang5687 2011-09-20
  • 打赏
  • 举报
回复
看要怎么取数据了
yubofighting 2011-09-20
  • 打赏
  • 举报
回复
连接一步执行的是两个表的笛卡尔积,
接着是on进行筛选
接着是join类型进行外部行的添加

前两部所有join都一样,第三步有差异
所以如果是inner join,无所谓
left join 把大表放在后边
right join把大表放在前面
koumingjie 2011-09-20
  • 打赏
  • 举报
回复
题目跟你描述的是一样的吗?
inner join 无所谓
left join 要看需求了,以哪张表为主,哪张表放前面
--小F-- 2011-09-20
  • 打赏
  • 举报
回复
如果是INNER JOIN 顺序是无所谓的 如果是LEFT JOIN 则应该把数据量大的放后面
--小F-- 2011-09-20
  • 打赏
  • 举报
回复
题目应该说完全啊 是怎么样的连接 INNER JOIN 还是LFET JOIN ??

是选全部字段还是部分字段?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧