有如下视图viewA
select * from tableA
union all
select * from tableB
在查询分析器中给该视图创建索引:
create index IX_001 on viewA (fieldA,fieldB)查询分析提示:
无法在视图'viewA'上创建索引,因为该视图未绑定到架构

解决方案 »

  1.   

    定义索引视图的 SELECT 语句不得包含 TOP、DISTINCT、COMPUTE、HAVING 和 UNION 关键字。也不能包含子查询。所以你的view中有UNION不能建立索引
      

  2.   

    要用 WITH SCHEMABINDING 绑定架构!
      

  3.   

    To: WangZWang(阿来) 
      我的视图里有union关键字,在这种情况下有没有其它办法可以提高速度的?To:zlp321002() 
    将创建视图的命令改成
    create view ViewA
    with schemabinding
    as
    select fieldA,fieldB,fieldC,fieldD from tableA
    union all
    select fieldA,fieldB,fieldC,fieldD from tableBSQL查询分析器提示:无法将视图ViewA绑定到架构,因为名称tableA对于架构无效.名称必须由两部分构成,并且对象不能引用自身.
      

  4.   

    如果真的只要效率的话两个表分别查询,然后将结果UNION就好了干吗一定要视图查询呢?