将查询提示(OPTION)放入SQL Server中的视图中

时间:2017-09-27 08:11:00

标签: sql-server query-performance sql-view query-hints

我在视图上使用多个连接进行SQL查询,这些连接偶尔会运行得非常慢 - 比正常情况慢很多,使查询几乎无法使用。

我将查询复制出视图并进行了实验,并在https://dba.stackexchange.com/a/60180/52607找到了解决方案 - 如果我添加

OPTION (MERGE JOIN, HASH JOIN)

到查询结束时,运行速度提高约6倍。

我现在尝试将OPTION调整为原始视图,但SQL Server / SSMS告诉我

Incorrect syntax near the keyword 'OPTION'.

如何将此选项添加到视图中,以便生成的视图查询速度一样快?

(在视图上添加查询选项不会导致任何加速。这看起来像这样:

select * from vMyView
where SomeDate >= CONVERT(Datetime, '2017.09.20')
OPTION (MERGE JOIN, HASH JOIN)

我想我必须直接为vMyView使用这个选项 - 如果可能的话。)

1 个答案:

答案 0 :(得分:0)

您可以在视图的联接中添加本地提示

select X, Y from tab1 inner merge JOIN tab1 on tab1.id = tab2.id