有两个数据量很大的表 a b,
视图是这样的 select * from a union select * from然后我希望从视图里面取数据。我的问题是,我从这个视图里取数据的时候 是先执行这个存储过程,也就是执行语句
select * from a union select * from 然后再执行我从视图里取数据的sql呢
还是视图只是给了一个映射,
取的时候和直接从表里取一样,
因为如果 数据量很大的话,执行个select * from a 就会花很多时间的。谢谢

解决方案 »

  1.   

    当你在一个未建索引的视图执行查询时,sql实际访问的是基础表,视图中的数据并没有物理表现形式。 
      

  2.   


    我可以这么理解吗
    Create View test
    select * from a 当我执行 select * from test where Id=1  时,其实就是执行 select * from a where Id=1,而不是先执行了,select * from a 再执行select * from a where Id=1xiexie
      

  3.   

    no..解析时,会将view扩展到sql语句中,生成 select * from a where Id=1 ~
      

  4.   

    当你在一个未建索引的视图执行查询时,sql实际访问的是基础表,视图中的数据并没有物理表现形式。