首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SQL Server中强制连接顺序

如何在SQL Server中强制连接顺序
EN

Stack Overflow用户
提问于 2015-09-29 21:03:11
回答 2查看 2.7K关注 0票数 1

当我们将t1连接到t2,连接到t3,连接到t4时,我们可以这样做:

代码语言:javascript
复制
t3->t4->t2->t1
t1->t2->t3->t4
t4->t3->t2->t1
.....

有没有办法强制SQL Server中的优化器从连接链中的特定表开始?类似于Oracle中的领先

我正在寻找像like (在Oracle中)这样的解决方案在SQL Server中。

EN

回答 2

Stack Overflow用户

发布于 2015-09-29 21:49:59

如果除了连接的顺序之外,您还知道连接的类型,那么您可以明确表示:

代码语言:javascript
复制
SELECT *
FROM T1 HASH JOIN
     T2
     ON T1.ID = T2.T1_ID;

这会强制执行排序和类型(请参阅here)。

如果希望在不强制顺序的情况下指定使用特定类型的联接,请改用option。而且,如果您想要排序而不是类型,请使用force order。但是,SQL Server优化器通常非常好,因此很少需要force order

票数 6
EN

Stack Overflow用户

发布于 2015-09-29 21:05:11

有强制顺序提示:

代码语言:javascript
复制
SELECT * FROM T1 JOIN T2 ON T1.ID = T2.T1_ID OPTION (FORCE ORDER)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32844758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档