有人可以告诉我OPTION
子句在SQL Server 2012中是否可用。
我看不到任何文档来介绍它的引入时间。
我想在SQL Server 2012数据库上使用OPTION (LOOP JOIN)
...
谢谢
如Gordon Linoff所述,是的-该选项(循环联接)在SQL 2012中可用。
我在Azure中启动了一个新的SQL数据库,将兼容性级别更改为110(SQL 2012),并运行了两个查询。同时显示了两个执行计划的屏幕截图。
select * from saleslt.customer c
inner join SalesLT.CustomerAddress ca
on c.CustomerID = ca.CustomerID
select * from saleslt.customer c
inner join SalesLT.CustomerAddress ca
on c.CustomerID = ca.CustomerID
OPTION (LOOP JOIN);
[正如其他人所说,我通常也不会强迫提示,而是回答您所陈述的问题:是的,可以使用。
有人可以告诉我
OPTION
子句在SQL Server中是否可用2012。我看不到介绍它的任何文档。
是,它在SQL Server 2012中可用。OPTION
子句至少返回到SQL Server 7.0
我想在SQL Server 2012数据库上使用
OPTION (LOOP JOIN)
...
OPTION
子句的可用性并不意味着OPTION (LOOP JOIN)
可用。这些已添加到各种产品版本中。
下面是SQL Server 2000提示上的BOL条目
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9sVFZVby5wbmcifQ==” alt =“在此处输入链接描述”>
在2000年,指定连接算法的唯一方法是在单个连接级别(这也确定了连接顺序)。
到2005年BOL记录了以下更广泛的查询提示选择,因此该版本提供了OPTION (LOOP JOIN)
。
<query_hint > ::=
{ { HASH | ORDER } GROUP
| { CONCAT | HASH | MERGE } UNION
| { LOOP | MERGE | HASH } JOIN
| FAST number_rows
| FORCE ORDER
| MAXDOP number_of_processors
| OPTIMIZE FOR ( @variable_name = literal_constant [ , ...n ] )
| PARAMETERIZATION { SIMPLE | FORCED }
| RECOMPILE
| ROBUST PLAN
| KEEP PLAN
| KEEPFIXED PLAN
| EXPAND VIEWS
| MAXRECURSION number
| USE PLAN N'xml_plan'
}