视图是否不受架构限制?

时间:2010-07-23 03:17:29

标签: sql-server schema views

我有一个select查询来从表中检索数据。它工作正常,但是当有条件选择3个值时,它没有给出结果。错误消息;

Query processor ran out of Internal resources

我通过INDEX看起来工作正常,然后用select语句创建了视图,但是无法创建索引。错误消息;

View is not schema bound

2 个答案:

答案 0 :(得分:29)

为了创建索引视图,视图需要被架构绑定到它所查看的实体。

要创建视图架构,只需在视图WITH SCHEMABINDING / CREATE查询中指定使用UPDATE,例如:

CREATE VIEW MyView
WITH SCHEMABINDING 
AS
-- SELECT

有关架构绑定的更多信息,请参阅this link,或CREATE VIEW语句中的MSDN页面。

然而,根据您的说法,我认为索引视图不一定会帮助您 - 消息“查询处理器耗尽内部资源”意味着查询处理器无法为您的查询生成执行计划,我猜测只会发生极其复杂的查询。

您应该尝试以某种方式降低查询的复杂性。

答案 1 :(得分:6)

我猜你正在尝试在视图上创建索引而不是基础表。如果您确实需要为视图编制索引,则必须满足以下条件:

http://technet.microsoft.com/en-us/library/cc917715.aspx