高手指点一下!inner join多表关联的时候,表联接的先后顺序对效率有影响吗?

xqlvcc 2007-12-24 01:56:27
RT
...全文
1570 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xqlvcc 2007-12-25
  • 打赏
  • 举报
回复
还有人来说说吗?
中国风 2007-12-24
  • 打赏
  • 举报
回复
SQL自身优化为loop循环


--如下面指定,select
*
from
a
inner merge join
b on a.ID=b.ID

---有条件的情况下只能用loop


select
*
from
a
inner loop join
b on a.ID=b.ID and a.ID


----SET SHOWPLAN_TEXT on 显示执行顺序,对效率是没影响的
jlbaowei 2007-12-24
  • 打赏
  • 举报
回复
oracle:选择数据少的表作为基础表,3个表以上时选择交叉表作为基础表。
sqlserver:可以在查询分析器上查看sql语句执行效率来比较。
xqlvcc 2007-12-24
  • 打赏
  • 举报
回复
多表连接时,先后顺序对效率当然有影响?
那是怎么影响方法,是大表先联还是小表先联?是这样的说法吗?
fcuandy 2007-12-24
  • 打赏
  • 举报
回复
多表连接时,先后顺序对效率当然有影响.

优化器会进行优化的.

同时,你也可以在select 时使用 option选项, force order指定以语句顺序连接.
w2jc 2007-12-24
  • 打赏
  • 举报
回复
难得说,要看实际两个表上的索引和统计吧...但是,我觉得应该是对等的。
最好看实际执行计划,那才是最准的。

帮顶,关注
mojie23 2007-12-24
  • 打赏
  • 举报
回复
没试过 你可以将你那个sql执行一下 并将连接的顺序转换转换
看看执行计划中显示的开销 应该可以分析出连接的先后是否有影响吧

xqlvcc 2007-12-24
  • 打赏
  • 举报
回复
dawugui 2007-12-24
  • 打赏
  • 举报
回复
高手指点一下!inner join多表关联的时候,表联接的先后顺序对效率有影响吗?

我认为没有.
xqlvcc 2007-12-24
  • 打赏
  • 举报
回复
顶一下!
areswang 2007-12-24
  • 打赏
  • 举报
回复
学习
xqlvcc 2007-12-24
  • 打赏
  • 举报
回复
SQL自身优化? 是一个什么样的策略呢?能否指点一下?
会推荐一点相关资料!谢谢!
中国风 2007-12-24
  • 打赏
  • 举报
回复
SQL自身优化

或指定loop

34,590

社区成员

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

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