如何强制 MS SQL Server 执行索引连接?
我正在做一个作业,我应该比较 SQL Server 中的不同连接方法,即散列连接、合并连接和索引连接。
我在让 SQL Server 执行索引连接时遇到困难。 谁能告诉我如何强制它使用索引连接(使用连接提示或类似的),或者只是简单地提供一个带有连接的简单查询,其中SQL Server使用索引连接方法?
I'm working on an assignment where I'm supposed to compare different join methods in SQL Server, namely hash-join, merge-join and index-join.
I'm having difficulties getting SQL Server to perform an index-join. Can anyone show me how I can force it to use an index-join (using a join hint or similar), or just simply provide a simple query with a join on which SQL server uses the index-join method?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您有循环、散列和合并联接 (BOL) 仅。 没有索引连接。
有关更多信息,请参阅Craig Friedman 的 JOIN 系列< /a> (他是为 SQL Server 设计关系引擎的团队之一)
You have Loop, hash and merge joins (BOL) only. No index joins.
For more than you ever needed to know, Craig Friedman's series on JOINs (he's one of the team that designed the relation engine for SQL Server)
您可以在直接选择上有索引提示,但我不确定相同的语法是否可用于连接。
您可以在非 ansi (?) 连接中使用它
并带有索引提示:
You can have an Index hint on straight select, but I'm not sure that the same syntax is available for a join.
you could use this in a non-ansi (?) join
Join with a index hint:
我在 SQL Server 中找不到此类术语。
http://en.wikipedia.org/wiki/Join_(SQL)#Join_algorithms< /a>
您是否只是在寻找使用索引的嵌套循环,从而导致索引查找?
I'm having trouble finding such terminology in SQL server.
http://en.wikipedia.org/wiki/Join_(SQL)#Join_algorithms
Are you just looking for a nested loop that uses indexes, resulting in an index seek?