都是派生表。
概念:子查询 (subquery) 
嵌套在另一个 SELECT、INSERT、UPDATE 或 DELETE 语句或者另一个子查询内的 SELECT 语句。
包括子查询的语句通常采用以下格式中的一种:
select列表中的返回对应单个值语句,以括号界定。
WHERE expression [NOT] IN (subquery) 
WHERE expression comparison_operator [ANY | ALL] (subquery) 
WHERE [NOT] EXISTS (subquery) 

派生表是 FROM 子句中的 SELECT 语句,以别名或用户指定的名称来引用这些派生表。

解决方案 »

  1.   

    楼主请查看联机帮助“索引视图”

    视图的要求
    在视图上创建聚集索引之前,该视图必须满足下列要求: 

    不能包含派生表
    CREATE INDEX 语句的要求
    在视图上创建的第一个索引必须是唯一聚集索引。在创建唯一聚集索引后,可创建其它非聚集索引。

    看来问题1可能无解。
    那么只能通过其他方法来进行优化了。
    这就需要根据楼主的表结构及业务问题来进行。可能的话,请楼主提供更详细点的内容。
      

  2.   

    或者不用视图,因为你没查询一次视图都要查询出所有的纪录,然后再在纪录中找出满足你条件的纪录。数据量大了慢的很写一个存储过程
    然后根据你传入的条件,用动态Sql返回结果把下面的这些写道动态Sql中,和你传入的条件一起用Exec执行,然后返回结果from
    ((select * from GetSpringboard() group by ID,Springboard)[A],
    (select * from GetCHboard() group by ID,CHboard)[B]
    where A.ID=B.ID)[A],
    (select * from GetDestination() group by ID,Destination)[B],
    (select * from GetRDate())[C],
    (select * from GetTDate())[D],
    (* from provide)[E],
    (select * from GetPrice())[G]
    where A.ID = B.ID
    and A.ID = C.ID
    and A.ID = D.ID
    and A.ID = E.ID
    and A.ID = G.ID
      

  3.   

    我想先把视图的数据先insert到另一个表中,对表(加索引)进行查询,大家觉得怎样?
      

  4.   

    我想先把视图的数据先insert到另一个表中,对表(加索引)进行查询,大家觉得怎样?
    --------------------------------------------------------------------------
    实时性和效率无法兼顾。
      

  5.   

    我想先把视图的数据先insert到另一个表中,对表(加索引)进行查询,大家觉得怎样?
    --------------------------------------------------------------------------
    实时性和效率无法兼顾。
    -----------------------------
    我可以稍微去掉实时性,你觉得这个办法可行吗?有没有别的办法?