【发布时间】:2011-03-19 21:53:01
【问题描述】:
我有一个选择查询来从表中检索数据。它工作正常,但是当有条件选择一些 3 个值时,它不会给出结果。错误信息;
Query processor ran out of Internal resources
我查看了 INDEX 似乎工作正常,然后我使用该 select 语句创建了视图,但无法创建索引。错误信息;
View is not schema bound
【问题讨论】:
标签: sql-server schema views
我有一个选择查询来从表中检索数据。它工作正常,但是当有条件选择一些 3 个值时,它不会给出结果。错误信息;
Query processor ran out of Internal resources
我查看了 INDEX 似乎工作正常,然后我使用该 select 语句创建了视图,但无法创建索引。错误信息;
View is not schema bound
【问题讨论】:
标签: sql-server schema views
为了创建索引视图,视图需要绑定到作为视图的实体的架构。
要绑定视图架构,只需在视图CREATE / UPDATE 查询中指定使用WITH SCHEMABINDING,例如:
CREATE VIEW MyView
WITH SCHEMABINDING
AS
-- SELECT
有关架构绑定的更多信息,请参阅 this link 或 CREATE VIEW 语句上的 MSDN 页面。
但是从您所说的来看,我认为索引视图不一定会对您有所帮助 - 消息“查询处理器用尽内部资源”意味着查询处理器无法为您的查询生成执行计划,我猜测只会发生在极其复杂的查询中。
您应该尝试以某种方式降低查询的复杂性。
【讨论】:
我猜您是在尝试在视图而不是基础表上创建索引。如果您确实需要索引视图,它必须满足以下条件:
【讨论】: