如何强制MS SQL Server执行索引联接?
我正在做一个赋值,在这里我应该比较SQL Server中的不同联接方法,即散列联接、合并联接和索引联接如何强制MS SQL Server执行索引联接?,sql,sql-server,join,indexing,join-hints,Sql,Sql Server,Join,Indexing,Join Hints,我正在做一个赋值,在这里我应该比较SQL Server中的不同联接方法,即散列联接、合并联接和索引联接 我很难让SQL Server执行索引联接。有谁能告诉我如何强制它使用索引联接(使用联接提示或类似方法),或者只是提供一个简单的查询,其中包含SQL server使用索引联接方法的联接?我在SQL server中很难找到此类术语 您只是在寻找使用索引的嵌套循环,从而导致索引查找吗?您可以在straight select上获得索引提示,但我不确定是否有相同的语法可用于联接 SELECT blah
我很难让SQL Server执行索引联接。有谁能告诉我如何强制它使用索引联接(使用联接提示或类似方法),或者只是提供一个简单的查询,其中包含SQL server使用索引联接方法的联接?我在SQL server中很难找到此类术语
您只是在寻找使用索引的嵌套循环,从而导致索引查找吗?您可以在straight select上获得索引提示,但我不确定是否有相同的语法可用于联接
SELECT blah FROM table WITH (INDEX (index_name))
您可以在非ansi(?)连接中使用此选项
加入索引提示:
SELECT
ticket.ticket_id
FROM
purchased_tickets
JOIN ticket WITH (INDEX ( ticket_ix3))
ON ticket.original_ticket_id = purchased_tickets.ticket_id
AND ticket.paid_for = 1
AND ticket.punched = 0
WHERE purchased_tickets.seller_id = @current_user
OPTION (KEEPFIXED PLAN);
你只有一个。没有索引联接
你需要知道的是,(他是为SQL Server设计关系引擎的团队之一)这个问题是如何在5分钟内出现在google上的?哇!
SELECT
ticket.ticket_id
FROM
purchased_tickets
JOIN ticket WITH (INDEX ( ticket_ix3))
ON ticket.original_ticket_id = purchased_tickets.ticket_id
AND ticket.paid_for = 1
AND ticket.punched = 0
WHERE purchased_tickets.seller_id = @current_user
OPTION (KEEPFIXED PLAN);