table和view区别(转)

sql server中table和view区别

table 是实际表 view是虚表。你可以认为view是一个查询的结果。

我们经常用sql语句如; select 姓名,性别 from 学生表 对 学生这个table进行查询,这是个简单查询,但是当我们要将 table1,table2,table3 ,table4 ..........好多个表进行多表查询的时候,我们不想每次都写一连窜的连接语句我们想让数据库记住这个复杂的语句要让数据库将这复杂的语句编译到数据库缓存中(速度更快)!!或者我们还不想让程序员知道这个复杂的查询涉及到了table1,table2,table3 ,table4 .........这么多表,这时我们就可以建立一个view 像程序员提供view而不是sql。其实这个view就是一个起了名字的查询语句,view是会被数据库实例放入缓存预先编译的!他就是一个虚拟的表!!!

oracle的view和table有什么不同,什么情况下用view,有什么好处

实例化视图实际用的时候有点像单独的表,是定期从table里面更新出来的,view是直接去表里面查的,性能差很多,materialized view查询快,并且不会影响表的使用,不会对表产生共享锁,但是建立和更新慢,并且不是实时更新的

你可能感兴趣的:(table和view区别(转))