SQL Server索引问题

3 sql t-sql sql-server indexing performance

我有一个查询连接SQL Server 2005中的3个表,但没有Where子句,所以我索引连接语句中找到的字段.

如果我的索引设置为Col1,col2,col3

我的加入是

Tbl1
inner join tbl2
On
Tbl1.col3=tbl2.col3
Tbl1.col2=Tbl2.col2
Tbl1.col1=Tbl2.col1
Run Code Online (Sandbox Code Playgroud)

与索引的顺序相比,join语句的顺序是否有所不同?我应该将我的索引设置为Col3,col2,col1吗?或者将我的加入声明重新组合为Col1,col2,col3?

谢谢

gbn*_*gbn 5

SQL Server查询优化器应该解决它.无需为您提供的示例进行更改.

这是一个简单的答案,它取决于您选择的列以及如何加入3个表.

注意:我个人更喜欢更改JOIN以匹配"自然"订单.也就是说,我尝试以与我的键和/或索引匹配的相同顺序(JOIN,WHERE)使用我的列.正如Joel所说,它可以帮助以后进行故障排除.