让SQL服务器将带有交叉连接的where子句应用于视图中的查询

时间:2015-09-03 21:50:21

标签: sql-server tsql sql-server-2014

我在stackoverflow上的第一篇文章(随着时间的推移,这对我有很大帮助):

我有一个带有交叉连接的查询,当我使用 where 子句运行它时工作正常,但是当我将它放在视图中并应用其中视图的子句。

我认为问题在于,当代码封装在视图中时,SQL不会将 where 子句应用于交叉连接,从而最终导致数百万行(而不是180行)情况)。

代码如下 - 这是一个查询,它使用平均预期每月使用量和传入订单列表来预测仓库中物料的未来现货库存。

{{1}}

注释掉的 where 子句使查询在不在视图中时快速运行(亚秒级)(由idwarehouse,iditem组成的表簇)

非常感谢任何/所有帮助和建议。

0 个答案:

没有答案